Seite 1 von 1

SQL Variable

Verfasst: 29.08.2006 18:49
von asdil12
Ich habe folgendes Problem:

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='name' ORDER BY username"; 
"name" soll durch eine variable ersetzt werden - wie mache ich das?

Verfasst: 29.08.2006 19:30
von fanrpg
Entweder so...

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='".$name."' ORDER BY username";
oder so...

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='$name' ORDER BY username";
Geht aber nur bei "
Oder so..

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='{$name}' ORDER BY username";
Bei Arrays so...

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='".$array['name']."' ORDER BY username";
oder so

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='$array[name]' ORDER BY username";
oder so..

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='{$array[name]}' ORDER BY username";

Verfasst: 29.08.2006 19:35
von asdil12
Nichts davon geht...

EDIT: Ups - hab was vergessen - jetzt gehts

Verfasst: 29.08.2006 19:47
von asdil12
noch ein problem: die variable wword nur akzeptiert, wenn ich sie direkt in der datei festlege! - via GET gehts nicht!

Verfasst: 29.08.2006 22:55
von MagMo
Hi,

wenn die Variable name eine GET-Variable ist, dann muss du sie so aufrufen:
$HTTP_GET_VARS['name']

Wobei du folgendes nicht verwenden solltest:

Code: Alles auswählen

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE username ='".$HTTP_GET_VARS['name']."' ORDER BY username";
Du solltest vorher auf jeden Fall prüfen, ob die Variable nur erwünschte Werte (z.B. nur Buchstaben) enthält um unerwünschte Nebenefekte zu vermeiden.

Grüße
MagMo

Verfasst: 30.08.2006 09:24
von Dr.Death
Besser wäre noch das $HTTP_GET_VARS durch $_GET zu ersetzen.