• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mysql_fetch_object(): supplied argument is not a valid MySQL result resource...

xSTVNx

Mitglied
Guten Abend,

ich habe ein Problem. Bei mir kommt folgende Fehlermeldung:
mysql_fetch_object(): supplied argument is not a valid MySQL result resource in ... on line 20

Was hat diese zu bedeuten? Was mache ich falsch?

PHP:
// Datenbank + Zugangsdaten festlegen
$db = mysql_connect('localhost','root','');
mysql_select_db('test');

// Datenbankdaten überprüfen
if (!$db) {
    die('Verbindung nicht möglich : ' . mysql_error());
}

// Main Device
$sql = "SELECT * FROM settings WHERE option = 'dev_root'";
$query = mysql_query($sql);  

   
while ($row = mysql_fetch_object($query)) {    
    $dev_root     = $row->value;
}
    
$dev_root = $dev_root;

Danke!
xSTVNx
 
Zuletzt bearbeitet:
Dein Problem wird offenbar dadurch verursacht, dass dein SQL-Statement nicht ausgeführt werden konnte. Warum und wieso, das kannst nur Du wissen. Du müsstest sicherstellen, dass das Statement auch tatsächlich ausgeführt wird. Und wenn nicht, dann schau nach was falsch ist. Die Funktion mysql_error() solltest Du dir dazu mal anschauen.
 
Du müsstest sicherstellen, dass das Statement auch tatsächlich ausgeführt wird. Und wenn nicht, dann schau nach was falsch ist.

Wie denn?

Hab die mysql_error() probiert, doch da wird mir kein Fehler angezeigt. :/

Aber in meinem geposteten Code ist kein Fehler bzw. daran kanns definitiv nicht liegen?
 
Ist aber bestimmt Quatsch, oder? :D

PHP:
// Datenbank + Zugangsdaten festlegen 
$db = mysql_connect('localhost','root',''); 
mysql_select_db('test'); 
 
// Datenbankdaten überprüfen 
if (!$db) { 
    die('Verbindung nicht möglich : ' . mysql_error()); 
} 
 
// Main Device 
$sql = "SELECT * FROM settings WHERE option = 'dev_root'"; 
$query = mysql_query($sql);   
 
if (!$query) { 
    die(mysql_error()); 
}     
     
while ($row = mysql_fetch_object($query)) {     
    $dev_root     = $row->value; 
}

Kanns theoretisch auch an der SQL-Datenbank an sich liegen? (Also z.B. falscher Name, gar nicht erstellt, usw.) Oder würde sich das anderweitig bemerkbar machen?
 
Sollte theoretisch auch gehen. Besser wäre

PHP:
$query = mysql_query($sql) or die(mysql_error());

Wenn in dem SQL-Statement Spalten oder Tabellen vorkommen die nicht existieren, würde mysql_error() dazu Hinweise liefern. Alternativ kannst Du das Statement auch in phpmyadmin mal manuell ausführen um zu sehen was dabei heraus kommt.
 
So habe den Fehler nun gefunden. Es lag an der fehlenden Tabelle (war in der falschen DB drin, drum hab ichs nichts sofort gemerkt.)

Und danach lags an dem Spaltennamen "option", dieser ist vom SQL bereits reserviert.

Danke für deine Mühe! <3
 
Zurück
Oben