jenslm: SQL Abfrage funktionier nicht?!

<?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

  1. blabla... for the right syntax to use near 'option FROM module_options WHERE mid = '5'' at line 1

    ehm neein?!

    1. 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

      1. Reserviertes Wort
        http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

        und wieder dazugelernt :)
        danke, jens

        1. 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

          1. 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
            
  2. 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