Frage von IBoxInfo, 14

PHP MySQL Suche geht nicht?

Wenn ich folgenden Code benutze:

<? $con = mysqli_connect("localhost","d0232b0a","

***"); mysqli_select_db($con,"d0232b0a"); $such = $_POST["such"]; if(isset($_POST["suchen"])){ $suchbegriff = $_POST["suchen"]; $sq3 = " SELECT * FROM

spindei

WHERE

id

=" . suchbegriff . " AND

vn

LIKE '" . suchbegriff . "' AND

nn

LIKE '" . suchbegriff . "' AND

kl

LIKE '" . suchbegriff . "' AND

ort

LIKE '" . suchbegriff . "' AND

sn

=" . suchbegriff . " AND

sd

= '" . suchbegriff . "' AND

ed

= '" . suchbegriff . "' ORDER BY 'id' ASC "; echo "

           while($ssa = mysqli_fetch_assoc($qu))
         {
           echo "Hey2";
           echo $ssa['vn'];
           $s1 = $ssa["vn"];
           $s2 = $ssa["nn"];
           $s3 = $ssa["kl"];
           $s4 = $ssa["ort"];
           $s5 = $ssa["sn"];
           $s6 = $ssa["sd"];
           $s7 = $ssa["ed"];
           echo "<td>";
           echo  "<tr>" . $s1 . "</tr>";
           echo  "<tr>" . $s2 . "</tr>";
           echo  "<tr>" . $s3 . "</tr>";
           echo  "<tr>" . $s4 . "</tr>";
           echo  "<tr>" . $s5 . "</tr>";
           echo  "<tr>" . $s6 . "</tr>";
        echo  "<tr>" . $s7 . "</tr>";
             
           echo "</td>";
           
           
         } 
         
          echo "</table>";
          
          
          
        
        }else{
         echo "Hey3";
        }
        mysqli_close($con);
        ?>

Kommt als ausgabe folgender Error: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /www/htdocs/w00c746c//suche.php on line 26 Keine Daten gefunden Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /www/htdocs/w00c746c//suche.php on line 29

Wie kann ich das beheben? Danke im vorraus! :D

"; $qu = mysqli_query($con,$sq3); $num = mysqli_num_rows($qu); if ($num==0) echo "Keine Daten gefunden";

Antwort
von tDoni, 9

Wenn du das nächste mal Code hast, dann verlinke ihn doch über http://pastebin.com/. Dann kann  man ihn wenigstens anständig lesen.

Außerdem solltest du noch den Suchbegriff noch absichern. Z.B. via. http://php.net/manual/de/mysqli.real-escape-string.php. Wenn du das so in einem produktivsystem verwendest, öffnest du Tür und Tor für Angriffe

Antwort
von C0nfr0nt, 14

So ist es immer Sche*sse den Code zu prüfen.

Hast du schon mal google versucht? da gibt es, wie immer, millionen von antworten auf dein problem.

ansonsten check obs die tabelle/reihe ueberhaupt gibt und was mich verwundert warum stehen vor suche php 2 //?

Antwort
von IBoxInfo, 11

Ich habs jetzt hinbekommen nach 2 Stunden suchen ich hatte irgendwie 3 verchiedene Fehler :(

Antwort
von Xandoo94, 10

Wieder mal das typische mysqli nenene bitte mit pdo arbeiten

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten