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 $result
variabele.
while ($row = $result->fetch_assoc()) {
echo $row['classtype']."<br>";
}
Antwoord 2, autoriteit 12%
Voordat u de variabele $result
gebruikt, 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 $row
naar behoefte.
Antwoord 3, autoriteit 6%
mysqli:query()
geeft een mysqli_result
object 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>";