Probleme beim Auslesen einer MYSQL Datenbank

OneMenShot

Grünschnabel
Hallo,

ich bin ein ziemlicher Anfänger im Coden und habe derzeit ein Problem. Hier mal den Error den ich bekomme:
Code:
 [B]Warning[/B]: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in [B]G:\xampp\htdocs\suche.php[/B] on line [B]68[/B]

Hier mein Code:

PHP:
<?php

   $host = 'localhost';
   $benutzername = 'CSGO';
   $kennwort = 'Zensiert';
   $db = mysql_connect($host, $benutzername, $kennwort)
               or exit ('Keine Verbindung hergestellt!');
   mysql_select_db("CSGO",$db) or exit
   ('Datenbank nicht geöffnet');

   // Funktionen, die in der DB ausgeführt werden sollen

echo"<body background='hintergrund.gif' text='#990000' link='#0000CC' vlink='#000066' alink='#000000'>";


echo"<h2><div align='center'>Spielerdaten Suche</h2>";
echo"<br><br>";
echo"<table border='1'>";
echo"<colgroup>";
echo"<col width='320'>";
echo"<col width='320'>";
echo"</colgroup>";

echo"<tr>";
echo"<form action='suche.php' method='POST'>";
echo"<div align='center'><td><div align='center'><b>Benutzername:</b><br><input type='Text' name='vorname' value='' size='' maxlength=''></div></td>";
echo"</table>";
echo"</div>";

echo"<br><br>";

echo " <input type=submit value='Suchen' name='Suchen'>";

echo"<br><br>";

echo"</form></div>";


echo"<br>";
;



if (isset($_POST['Suchen']))
{


$suche = $_POST['vorname'];

echo  "Vorname:".$suche."<br>";


$abfrage = "SELECT * FROM csgo WHERE players LIKE '$suche'";

$ergebnis = mysql_query($abfrage);

echo"<table border='1'>";
echo"<tr>";
echo"<th>Name</th>";
echo"<th>SteamID</th>";
echo"<th>Kills</th>";
echo"<th>Assists</th>";
echo"<th>Deaths</th>";
echo"<th>K/D</th>";
echo"</tr>";


while($row = mysql_fetch_object($ergebnis))
{
     echo "<td>$row->Name</td>";
     echo "<td>$row->SteamID</td>";
     echo "<td>$row->Kills</td>";
     echo "<td>$row->Assists</td>";
     echo "<td>$row->Deaths</td>";
     echo "<td>$row->K/D</td>";
}
   
echo"<br>";
echo"</tr>";

echo"</table>";
}

?>

komme nicht auf den Fehler...
 
Hallo OneMenShot,
ich bin momentan zwiegespalten.

Soll ich zuerst den Standard Ablassen betreffs der mysql_* Funktionen oder soll ich zuerst ein paar Fragen betreffs deines Queries ablassen.

Ich fange mal mit den Fragen an.
Hast du mal das Statement innerhalb eines SQL-Clients (Mysql-Admin, HeidiSQL oder ähnliche) ausgeführt?
Kam dabei ein Ergebnis raus?

Kommen wir zu den Standardsätzen.

Die mysql_* Funktionen sind seit ein paar Jahren Deprecated und in der aktuellen Version von PHP entfernt.
Falls du ein Anfänger bis dann gewöhne dir gar nicht erst die Nutzung dieser an.
Falls du ein schon länger PHP Entwickelst, dann Motte diese Funktionen ein!!!

Am besten du gewöhnst dir schnell die Nutzung von PDO oder Mysqli an!
Ich empfehle dir PDO, da du dort auch Prepared Statements nutzen kannst.

Denn solcher Code ist ein
PHP:
$suche = $_POST['vorname'];
echo  "Vorname:".$suche."<br>";
$abfrage = "SELECT * FROM csgo WHERE players LIKE '$suche'";

Ist ein "gefundenes fressen" für Scriptkiddies und erst recht für Hacker.
 
Ich hab einen guten Kollegen der auch Coder ist und er wird mir jetzt helfen auf mysqli umzusteigen und werde auch auf mysqli weiter arbeiten.
 

Neue Beiträge

Zurück