Hallo an allle,
ich bin neu im Forum und bin froh mit ähnlich programmier begeisterten in Kontakt zu treten. Ich bin in sachen PHP Programmierung noch ziemlich grün hinter den Ohren, doch werde im Anschluss mal schauen, ob ich vielleicht trotzdem andere Fragen beantworten kann.
Der Code gehört zu einer (noch nicht funktionierenden) Suchfunktion. Ich will es ermöglichen, dass sich die Nutzer gegenseitig suchen können. In einer einfachen Abfrage funktioniert das Ganze, doch als prepared statement nicht mehr.
Nun zu meiner Frage: Ich bekomme diese Fehlermeldung:
mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in line 32
... und erwarte eigentlich, dass es mir die Anzahl der Suchergebnisse ausgibt.
Code:
//Anfang prepared statement
$suche = $conn->prepare("SELECT uidUsers
FROM users WHERE uidUsers LIKE ? ");
$suche->bind_param ('s', $suche_nach);
$suche->execute();
$suche->bind_result($result);
!!! ZEILE MIT FEHLERMELDUNG !!!
$queryResult = mysqli_num_rows($result);
//Anzahl Ergebnisse
echo "There are ".$queryResult." results.";
//gibt es Ergebnisse?
if ($queryResult > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo "
<a href='profile.php?username=".$row['uidUsers'] ."'>
<div class='article-box'>
<h3>".$row['uidUsers'] ."</h3>
</div></a>";
}
Ich verstehe, dass er mein $result nicht versteht, da wahrscheinlich false zurückgegeben wird. Doch wie ich damit umgehen soll erschließt sich mir nicht :O
Bis jetzt habe ich sehr viel probiert: die Fehlermeldung gegooglet (viel ausprobiert, doch nichts hat geholfen), die Abfrage als normale Abfrage getestet (nicht prepared statement) -> diese führt mich zu der Annahme, dass einfache Anführungszeichen in der SQL Anweisung bei dem ? fehlen. Die integration hat die Fehlermeldung aber nicht verändert. :O
Danke an alle Mitdenkenden!
Ps.: Wisst ihr ob es so etwas wie offene Programmiergruppen in größeren Städten gibt? Google hat mir da nicht geholfen (komme aus Dresden)
ich bin neu im Forum und bin froh mit ähnlich programmier begeisterten in Kontakt zu treten. Ich bin in sachen PHP Programmierung noch ziemlich grün hinter den Ohren, doch werde im Anschluss mal schauen, ob ich vielleicht trotzdem andere Fragen beantworten kann.
Der Code gehört zu einer (noch nicht funktionierenden) Suchfunktion. Ich will es ermöglichen, dass sich die Nutzer gegenseitig suchen können. In einer einfachen Abfrage funktioniert das Ganze, doch als prepared statement nicht mehr.
Nun zu meiner Frage: Ich bekomme diese Fehlermeldung:
mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in line 32
... und erwarte eigentlich, dass es mir die Anzahl der Suchergebnisse ausgibt.
Code:
//Anfang prepared statement
$suche = $conn->prepare("SELECT uidUsers
FROM users WHERE uidUsers LIKE ? ");
$suche->bind_param ('s', $suche_nach);
$suche->execute();
$suche->bind_result($result);
!!! ZEILE MIT FEHLERMELDUNG !!!
$queryResult = mysqli_num_rows($result);
//Anzahl Ergebnisse
echo "There are ".$queryResult." results.";
//gibt es Ergebnisse?
if ($queryResult > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo "
<a href='profile.php?username=".$row['uidUsers'] ."'>
<div class='article-box'>
<h3>".$row['uidUsers'] ."</h3>
</div></a>";
}
Ich verstehe, dass er mein $result nicht versteht, da wahrscheinlich false zurückgegeben wird. Doch wie ich damit umgehen soll erschließt sich mir nicht :O
Bis jetzt habe ich sehr viel probiert: die Fehlermeldung gegooglet (viel ausprobiert, doch nichts hat geholfen), die Abfrage als normale Abfrage getestet (nicht prepared statement) -> diese führt mich zu der Annahme, dass einfache Anführungszeichen in der SQL Anweisung bei dem ? fehlen. Die integration hat die Fehlermeldung aber nicht verändert. :O
Danke an alle Mitdenkenden!
Ps.: Wisst ihr ob es so etwas wie offene Programmiergruppen in größeren Städten gibt? Google hat mir da nicht geholfen (komme aus Dresden)
Comment