Object van klasse mysqli_result kan niet worden geconverteerd naar string

Ik krijg de foutmelding:

Object van klasse mysqli_result kan niet worden geconverteerd naar tekenreeks

Dit is mijn code:

$result = mysqli_query($con, "SELECT classtype FROM learn_users WHERE username='abcde'");
echo "my result <a href='data/$result.php'>My account</a>";

Antwoord 1, autoriteit 100%

De methode mysqli_query()retourneert een objectbron naar uw variabele $result, geen tekenreeks.

Je moet het in een lus plaatsen en vervolgens toegang krijgen tot de records. Je kunt het gewoon niet rechtstreeks gebruiken als je $resultvariabele.

while ($row = $result->fetch_assoc()) {
    echo $row['classtype']."<br>";
}

Antwoord 2, autoriteit 12%

Voordat u de variabele $resultgebruikt, moet u de functies $row = mysqli_fetch_array($result)of mysqli_fetch_assoc()gebruiken.

p>

Zoals dit:

$row = mysqli_fetch_array($result);

en gebruik de array $rownaar behoefte.


Antwoord 3, autoriteit 6%

mysqli:query()geeft een mysqli_resultobject terug, dat niet kan worden geserialiseerd in een string.

U moet de resultaten van het object ophalen. Hier leest u hoe u het doet.

Als u een enkele waarde nodig heeft.

Haal een enkele rij op uit het resultaat en open vervolgens kolomindex 0 of gebruik een associatieve sleutel. Gebruik de null-coalescerende operator voor het geval er geen rijen in het resultaat aanwezig zijn.

$result = $con->query($tourquery);  // or mysqli_query($con, $tourquery);
$tourresult = $result->fetch_array()[0] ?? '';
// OR
$tourresult = $result->fetch_array()['roomprice'] ?? '';
echo '<strong>Per room amount:  </strong>'.$tourresult;

Als u meerdere waarden nodig heeft.

Gebruik de foreach-lus om het resultaat te herhalen en elke rij één voor één op te halen. Je hebt toegang tot elke kolom door de kolomnaam als matrixindex te gebruiken.

$result = $con->query($tourquery);  // or mysqli_query($con, $tourquery);
foreach($result as $row) {
    echo '<strong>Per room amount:  </strong>'.$row['roomprice'];
}

Antwoord 4, autoriteit 4%

De functie query()retourneert een object, u wilt een record ophalen van wat van die functie wordt geretourneerd. Bekijk de voorbeelden op deze paginaom te leren hoe u gegevens kunt afdrukken vanaf mysql


Antwoord 5

Probeer met:

$row = mysqli_fetch_assoc($result);
echo "my result <a href='data/" . htmlentities($row['classtype'], ENT_QUOTES, 'UTF-8') . ".php'>My account</a>";

Other episodes