Sınıf mysqli_result Nesne dizeye dönüştürülür olamazdı

2 Cevap php

I asked Google to help me I got no luck. :-( Here's the particular code that generates the error:

$this->conn->query("UPDATE tz_members SET confirm='yes' WHERE usr='".$uname."'");

Bütün işlevi şudur:

    function update_confirm_field($code) {

    $uname = $this->conn->query("SELECT usr FROM tz_members WHERE 
                     confirm='".$code."'");

    $this->conn->query("UPDATE tz_members SET confirm='yes' WHERE 
                     usr='".$uname."'");
}

Aptalca bir şey cevapsız varsa beni affedin. Herkes soruna neden ne bana söyleyebilir misiniz lütfen??

2 Cevap

Sorun $ uname bir nesne değil, bir dize olmasıdır. Sen verilere erişmek için $ uname en yöntemlerden birini aramak gerekir.

    function update_confirm_field($code) {

    $uname = $this->conn->query("SELECT usr FROM tz_members WHERE 
                     confirm='".$code."'");

    while ($row = $uname->fetch_assoc()) { 

    $this->conn->query("UPDATE tz_members SET confirm='yes' WHERE 
                     usr='".$row["usr"]."'");

    }

}

o kadar (veya yukarıdaki çözümlerden birini) yapmalıdır.

query yöntemi sorgu sonucu bir gösterici / nesnesi döndürür, sadece doğrudan yanıt dökümü değildir. Sen list($uname) = $uname->fetch_row; gibi bir şey yapmak gerekiyor