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

bind_param funktioniert nur mit einem Argument?

htmlphp

Mitglied
Nabend.

Warum funktioniert das hier
PHP:
$query = $SQL->prepare('SELECT ´username´ FROM `nutzerdaten` WHERE `id` = ?');
$query->bind_param('i', $_SESSION['user_id']);
$query->execute();
$query->store_result();
$query->bind_result($username);
$query->fetch();

und das hier nicht?
PHP:
$query = $SQL->prepare('SELECT ´vorname´, ´nachname´, ´username´, ´newsletter´ FROM `nutzerdaten` WHERE `id` = ?');
$query->bind_param('i', $_SESSION['user_id']);
$query->execute();
$query->store_result();
$query->bind_result($vornmae, $nachname, $username, $newsletter);
$query->fetch();

der Fehler lautet
Code:
[B]Fatal error[/B]:  Call to a member function bind_param() on a non-object [...]

THX!
 
i ist in deinen SQL (Select) Statement nicht angeben!

Das ist so als willst du Geld überweisen ohne die Kontonummer anzugeben.

Korrekt müsste es lauten: Falls du PDO verwendest!
PHP:
$statement = "SELECT 
              ´username´ 
              FROM 
              `nutzerdaten`
              WHERE
               `id` = :i";
$query = $SQL->prepare($statement);
$query->execute();

While($row = $query->fetch(PDO::FETCH_OBJ)) 
{ 
  $user = $row->username; 
  echo $user."<br>"; 
}


Mfg Splasch
 
Zuletzt bearbeitet:
Also ich hab es gerade mal getestet und mit dem Fragezeichen geht es auch. Es liegt eher daran das die Feldnamen nach dem Select nicht mit richtigen Backticks markiert sind.

Also anstelle von ´ muss man ` setzen.
Dann hat es bei mir geklappt
 
Zurück
Oben