PHP + MySql: Abfrage mit Variable funktioniert nicht "mehr"

Hallo,

eine MySql Abfrage die vorher funktionierte, funktioniert nicht mehr, an dem eigentlichen Code hatte ich nichts geändert, an der Datenbank auch nicht. Irgendwie merkwürdig :smiley:
Jedenfalls poste ich mal alle relevanten Code-Schnipsel

Formular (Funktioniert)
[PHP]

Händler:

<?php
$trader_sql = „SELECT * FROM trader WHERE id“;
$trader_query = mysql_query($trader_sql) or die („Anfrage nicht erfolgreich“);

                while($row = mysql_fetch_object($trader_query)){
                    echo "<option value='$row->id'>$row->company</option> ";
                }
            ?>
        </select>
        <input type='submit' />
    </form>[/PHP]

Dann die ‚add_machine.php‘ Datei die ausgeführt wird. (Funktioniert NICHT)[PHP]

<?php $mysqlhost = 'localhost'; $mysqluser = 'xxx'; $mysqlpwd = 'xxx'; $connection = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ('Verbindungsversuch fehlgeschlagen'); $mysqldb = 'xxx'; mysql_select_db($mysqldb, $connection) or die ('Konnte die Datenbank nicht wählen.'); ?> xxx
<body>
    <h1>2. Maschineneintrag</h1>
    <?php
        $trader_id = $_GET['trader_id'];
        $trader_sql = 'SELECT * FROM `trader` WHERE `id` = $trader_id';
        $trader_query = mysql_query($trader_sql) or die ("Error: $trader_sql <br>".mysql_error());
        
        while($row = mysql_fetch_object($trader_query)){
            echo 'HÄNDLER $row->id, $row->company, $row->street, $row->zip_code, $row->city, $row->telephone_number, $row->cell_phone_number, $row->email <br>';
        }
    ?>[/PHP]

Folgender Error wird angezeigt
Error: SELECT * FROM trader WHERE id = $trader_id
Unknown column ‚$trader_id‘ in ‚where clause‘

Irgendwie tut PHP bei $trader_sql also bei der SQL Anweisung, $trader_id nicht als Zahl übergeben.
Auch wenn ich manuell in den PHP Skript eine Zahl eingebe, wie zB SELECT * FROM trader WHERE id = 3
Bekomm ich dann während der Ausgabe der Abfrage nicht den Inhalt vom Datensatz.
Sondern nur den Codeschnipsel von oben, nämlich „HÄNDLER $row->id, $row->company, $row->street, $row->zip_code, $row->city, $row->telephone_number, $row->cell_phone_number, $row->email

Ich vermute das PHP die $xyz Variablen irgendwie nicht ordnungsgemäß verarbeiten tut, falls die Variable in ’ ’ gesetzt ist.
Hoffe das mir geholen werden kann. :slight_smile:

Gruß Stenz

mhhhm ist zwar doppelpost, falls ich die sql anweisung und den echo Befehl unter " " setze funktioniert alles, wieso funktioniert es dann nicht mit ’ '?
Komisch :S :smiley:

Das ist einfach so festgelegt. In einfachen Anführungszeichen werden keine Variablen ersetzt.

Dein Code ist anfällig für SQL Injections.