Eine Variable in die SELECT * FROM -Anweisung einfügen, wie geht das?Danke für Hilfe?

JohannaB

Grünschnabel
Hallo,

ich bekomme keine Variable in die

SELECT * FROM - Anweisung

also folgendes funktioniert reibungslos:


$sqlquery = "SELECT * FROM Datenbank WHERE Name='Jasmin' ";
$result = mysql_query($sqlquery);

while($tabelle = mysql_fetch_array($result))
{
}


aber sobald eine variable dazu kommt gibt es nur Fehlermeldungen:

also z.B.


$ok = $QUERY_STRING;
$sqlquery = "SELECT * FROM Datenbank WHERE Name=$ok";
$result = mysql_query($sqlquery);

while($tabelle = mysql_fetch_array($result))
{
}


Der Sinn ist der, dass sich der User einzelne zeilen der datenbank anzeigen lassen kann, er also selbst auswählen kann, was er sehen will.

Wer kann mir hier helfen.


vielen Dank.
 
Probier mal die Abfrage wie folgt zusammenzusetzen:
PHP:
<?php

	$query = "
		SELECT
		        *
		  FROM
		        `Tabelle`
		  WHERE
		        `Name` = '".mysql_real_escape_string($_SERVER['QUERY_STRING'])."'
		";
	$result = mysql_query($query);
	while( $row = mysql_fetch_array($result) ) {
		…
	}

?>
 
Ich glaube es liegt daran, dass du bei "WHERE Name=$ok" vor und nach dem $ok noch einzelne Hochkommas ( ' ) setzen musst.
Also das sieht dann so aus: WHERE Name='$ok' - in deiner variable steht ja nur Jasmin drinnen, und der Inhalt wird an das Select angefügt, also stünde dann nur "... WHERE Name=Jasmin" da - und da fehlen eben die Hochkommas.

Alternativ dazu kannst du auch "... WHERE Name='".$ok; schreiben.
 
Hi!

Musst Du so angehn:

PHP:
$ok = 'Ich bin der Suchtext'; 
$sqlquery = 'SELECT * FROM Datenbank WHERE `Name`=\''.$ok.'\' '; 
$result = mysql_query($sqlquery);
 
Zurück