SQL Abfrage funktionier nicht?!
jenslm
- datenbank
<?php
$database = mysql_connect ($host, $user, $pass) or die ("Connection failed.");
mysql_select_db($db, $database);
//Verbindung wird erfolgreich hergestellt!
$var = 5;
$optionsql = "SELECT feld FROM tabelle WHERE feld2 = '$var'";
$optionresult = mysql_query($optionsql, $database) or die("shit happens");
$optionrow = mysql_fetch_assoc($optionresult);
?>
Und warum funktioniert das nicht? Ich sehen meine(n) Fehler nicht?!
Lg, Jens
blabla... for the right syntax to use near 'option FROM module_options WHERE mid = '5'' at line 1
ehm neein?!
blabla... for the right syntax to use near 'option FROM module_options WHERE mid = '5'' at line 1
Reserviertes Wort
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
Reserviertes Wort
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
und wieder dazugelernt :)
danke, jens
funktioniert so nur leider auch nicht.
Sobald ich den Code in
SELECT 'option'
FROM tabelle
WHERE feld2 = '$var'
ändere, wird zwar keine Fehlermeldung mehr angezeigt, allerdings wird auch kein Wert ausgegeben. liegt definitiv an 'option'
denn sobald ich das mit *
ersetze funktionert alles?!
lg, jens
Hallo Jens,
SELECT 'option' -- wähle die feste Zeichenkette option
FROM tabelle -- für jeden Datensatz aus einer Tabelle
WHERE feld2 = '$var' -- auf die möglicherweise was passt
-- und sonst SQL-Injektion ermöglicht
\*seufz\*
Nein, Spaltennamen sind in SQL keine Zeichenketten. Spaltennamen zählen zu den [Bezeichnern](http://dev.mysql.com/doc/refman/5.1/en/identifiers.html). Der verwendete SQL-Dialekt gibt an, wie reservierte Wörter zu behandeln sind, siehe auch <http://forum.de.selfhtml.org/archiv/2010/6/t198338/#m1331589>.
Bitte arbeite den Artikel [Kontextwechsel](http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel) durch.
Freundliche Grüße
Vinzenz
Auch ohne Anrede,
$var = 5;
$optionsql = "SELECT feld FROM tabelle WHERE feld2 = '$var'";
Hier echo, dein Freund beim Testen:
echo $optionsql."<br>";
Was wird angezeigt?
Kalle