Fehler in MySql-Abfrage

sheeba1507

Erfahrenes Mitglied
Hallo zusammen,

irgendwie hat sich bei mir ein kleiner Fehlerteufel eingeschlichen,
aber ich kann nicht erkennen, wo er steckt.

Ich will einen bestimmten Datensatz aus einer Tabelle auslesen und
daraus einen bestimmten Inhalt in eine Variable zur Weiterverarbeitung
speichern.

Zuerst wird hier per method="post" ...
PHP:
    <?php
    $query = "SELECT * FROM $ncr_mods" or die ("Fehler in SQL-Abfrage!");
    $result = mysql_query($query) or die ("Fehler in SQL-Query!");
    while ($datensatz = mysql_fetch_array($result))
      {
      ?>
      <p>
        <input type="radio" name="mods" value="<?php echo $datensatz["mods"];?>">
        <?php echo $datensatz["mods"];?>
      </p>
      <?php
      }
    mysql_free_result($result);
    ?>
... eine Liste von Moderatoren erstellt, aus der man per "radio" einen Namen auswählt.
Dieser Name wird in der Variable "$mods" gespeichert und übergeben.

Im zweiten Schritt soll nun aus einer Tabelle das Bild zum Moderator ausgelesen
und in der Variablen "$bild" gespeichert werden.
PHP:
$ncr_mods = "moderator";
...
$mods = $_POST["mods"];
...
// Datenbank-Connection
...
$sqlselect = "SELECT * FROM $ncr_mods WHERE mods = $mods";
$query = mysql_query($sqlselect) or die(mysql_error());
$datensatz = mysql_fetch_array($query);
$bild = ($datensatz["bild"]);
Jedoch erhalte ich nach Submit des Formulars folgende Fehlermeldung :
Unknown column 'Jens' in 'where clause'

Ich kann mir darauf keinen Reim machen.
In der Tabelle gibt es eine Spalte "mods" und die Variable "$mods" sollte auch
belegt sein.

Wieso wied hier nun ein Fehler erkannt ?

Ich komme nicht mehr weiter und benötige dringend eure Hilfe.
Schon vorab vielen Dank dafür.

Gruß, Mike
 
Auch in MySQL müssen Zeichenketten als solche ausgezeichnet werden. Sprich:
PHP:
$sqlselect = "SELECT * FROM $ncr_mods WHERE mods = '".mysql_real_escape_string($mods)."'";
 
Zurück