Unknown column '$id' in 'where clause'

D

Dkl764

Kann den Fehler leider nicht finden.

Fehlermeldung:
Unknown column '$id' in 'where clause'
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/duellking/projekt/files/nickpage.php on line 14

Teil des Codes:
PHP:
$id = $_GET['id'];

$sql = 'SELECT
          *
        FROM
          `collectivecash_benutzerdaten` WHERE ID = $id';

$result = mysql_query ( $sql );

echo mysql_error();

while ( $row = mysql_fetch_row ( $result ) )
{

//...

}


Habe auch schon probiert bei dem $id die Hochkommas (' ') zu entfernen.
-> Gleicher Fehler.
 
Moin Durchlaucht :-) ,

PHP wird nur in Strings verarbeitet, wenn diese sich in Doppel-Quotes befinden:

Code:
$sql = "SELECT
          *
        FROM
          `collectivecash_benutzerdaten` WHERE ID = $id";

Dass du $id unbedingt vor dessen Verwendung prüfen solltest, möchte ich nicht unerwähnt lassen ;)
 
Das zu prüfen stimmt. Thx.

Aber was meinst du mit diesen doppel-Quotes?

Das das in mehrere Zeilen umgebrochen wird? (und ich wundere mich immer wieso und stelle das extra um ^^)
 
Doppel-Quotes: doppelte Anführungszeichen

Bsp:
Code:
<?php
$var='Doppel-';
echo '{$var}Quotes';//ohne
?>
<hr>
<?php
echo "{$var}Quotes";//mit
?>
 
Also ich würde ja die SQL-Anweisung so schreiben:
Code:
$sql = "SELECT
          *
        FROM
          collectivecash_benutzerdaten WHERE ID = ".$id.";";
Das geht natürlich auch mit einfachen Hochkommas
Code:
$sql = 'SELECT
          *
        FROM
          collectivecash_benutzerdaten WHERE ID = '.$id.';';
natürlich müssen wie schon angesprochen die Variablen vorher geprüft werden!
 
Zurück