• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[MYSQL] mysql_fetch_object(): supplied argument is not a valid MySQL

lauritzh

Rheinischer Krummstiel
Registriert
02.04.12
Beiträge
383
Hallo zusammen,

ich habe ein kolossal großes Brett vorm Kopf, wie's scheint. Warum verursacht dieser Code:

Code:
<?php
include('dbconnect.php');


$email = $_GET['email'];




$abfage =  mysql_query("SELECT status FROM voter WHERE email = '{$email}'");
while($row = mysql_fetch_object($abfrage))
    {
      $status = $row->status;
    }
?>
Diese Fehlermeldung?
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in/mnt/web6/a2/15/52090415/htdocs/Lauritz/webapps/muehle_competition/test.php on line 8
(In Zeile 8 beginnt die while-Schleife, ist hier ein wenig ungünstig dargestellt)
Zur Info: Ich bastle gerade ein wenig mit MySQl herum, sammele meine erste Erfahrungen mit Datenbanken... Aber diese Fehlermeldung bringt mich in sofern aus dem Konzept, als dass die gleiche "Syntax" an anderer Stelle nicht invalid zu seien scheint.

Vielen Dank schonmal für die Hilfe und Lg,

lauritzh

EDIT: Gelöst! "Problem" war dass die while-Schleife nicht benötigt wurde, da eh nur ein Ergebnis ausgegeben wird.
 
Zuletzt bearbeitet:

__struct

Jonagold
Registriert
11.04.13
Beiträge
20
Hi,

nutz doch prepared Statements. Dein aktueller Code is nicht sicher.

Code:
<?php
$user   = 'dbnutzer';
$passwd = 'passwd';

$dbh    = new PDO("mysql:host=127.0.0.1;dbname=dbname", $user, $passwd);
$email = $_GET['email']; 

$sth = $dbh->prepare('SELECT status FROM voter WHERE email = ?');
$sth->execute(array($email));
foreach($sth as $row){
   $status = $row['status'];
}
?>

PS: Wenn nur eine Zeile abgefragt wird:

Code:
<?php
$user   = 'dbnutzer';
$passwd = 'passwd';

$dbh    = new PDO("mysql:host=127.0.0.1;dbname=dbname", $user, $passwd);
$email = $_GET['email']; 

$sth = $dbh->prepare('SELECT status FROM voter WHERE email = ?');
$sth->execute(array($email));
$row = $sth->fetch();
$status = $row['0'];

?>
 

hillepille

Melrose
Registriert
19.07.09
Beiträge
2.508
hi, wenn das der originalcode ist, dann liegt das problem woanders. du sagst einmal die variable heißt abfage, um dann aber in der nächsten zeile auf die variable zu verweisen. aber dort steht nicht abfage sondern abfrage. wenn sich dein problem gelöst hat, dann hat das nix mit damit zu tuen, dass es nur ein ergebnis gibt, sondern damit, dass du wahrscheinlich "aus versehen" auch die falsch bezeichnete variable korrigiert hast. :)
 

DerStein

Tokyo Rose
Registriert
08.04.13
Beiträge
67
ja du fragst eine Variable ab die du vorher nicht mit einer Anweisung versehen hast. Einfach das r mit rein und dann sollte es passen :)