sql Abfrage mit variablen

gruebel-gruebel

Erfahrenes Mitglied
Hallo,

habe da folgendes Problem.
Beispiel:

PHP:
$sql="SELECT
            *
       FROM
            bm_datenbank,
            bm_versionen
       WHERE
            bm_datenbank.bm_id = bm_versionen.bm_id
       AND
            bm_datenbank.jahr = “.$jahr.“
";

$jahr = 1958;
$var = "AND bm_datenbank.jahr = ’.$jahr.’";

$sql="SELECT
            *
       FROM
            bm_datenbank,
            bm_versionen
       WHERE
            bm_datenbank.bm_id = bm_versionen.bm_id

            hier soll $var eingebaut werden nur wie ?
";

Ich habe mehrere verschiedene query`s ($sql) um Waren anzuzeigen.
Ich möchte aber nur 1 $sql query für alle Abfragen.

Wenn ich das so in eine variable packe $var = AND bm_datenbank.jahr = ’.$jahr.’;
Wie muss ich die $var in das query eintragen.

Gruß
grübel grübel
 
Habe es jetzt so eingesetzt nur er zeigt einen Fehler an.

PHP:
$sql="SELECT
            *
       FROM
            bm_datenbank,
            bm_versionen
       WHERE
            bm_datenbank.bm_id = bm_versionen.bm_id

            $sql .= $var; 
            
";
 
Hi,

bitte beschäftige Dich doch mal ein bischen mit den elementarsten Grundlagen.

PHP:
$sql .= $var;

Das ist eine Anweisung in PHP, den String $var an den String $sql anzuhängen. Das heißt, dass Du das (die Anweisung) selbstverständlich nicht in die Zuweisung

PHP:
$sql="SELECT
            *
       FROM ...";

mit reinschreibst, sondern dahinter setzt, und zwar nachdem Du auch $var mit dem gewünschten Wert gefüllt hast.

LG
 
So funktioniert es auch nicht,

PHP:
$jahr = 1958;
$var = “AND bm_datenbank.jahr = ’.$jahr.’";

$sql="SELECT
            *
       FROM
            bm_datenbank,
            bm_versionen
       WHERE
            bm_datenbank.bm_id = bm_versionen.bm_id
";
$sql .= $var;
 
Hi,

dann fang doch mal an zu debuggen. Du lernst es doch nicht, wenn Dir das hier immer Zeichen für Zeichen vorgekaut wird. Schau Dir doch nur mal Deinen Post an. Fällt Dir am Highlighting nichts auf?
Es würde auch nicht schaden, wenn Du das zusammengesetzte $sql einfach mal ausgibst, um zu sehen, ob da hinterher eigentlich das drinsteht, was Du erwartet hast.

LG
 
ch hatte eine anständige Frage gestellt und hätte gerne eine anständige Antwort
und keine halben Sachen, wenn du das nicht kannst bist du hier im Forum fehl am Platz.
Nimm dir ein Beispiel am Maik oder am Gumbo die wissen wie man Fragen beantwortet.

grübel grübel
 
Hi,

ich finde meine Antwort anständig. Ich habe mich nicht über Dich lustig gemacht, Dich nicht beleidigt...
Was Du erwartest, ist fertiger Code, den Du ohne Nachdenken per Copy & Paste übernehmen kannst. Ich habe versucht, Dich mit der Nase auf die Lösung zu stossen, aber wenn Du das alles gar nicht lernen willst, bin ich dann mal weg...

LG
 
seit wann war meine Frage darauf bezogen das ich fertigen code will
Dieses funktioniert nicht und ob der Inhalt in $var existiert; ja er existiert.

PHP:
$jahr = 1958;
$var = “AND bm_datenbank.jahr = ’.$jahr.’";

$sql="SELECT
            *
       FROM
            bm_datenbank,
            bm_versionen
       WHERE
            bm_datenbank.bm_id = bm_versionen.bm_id
";
$sql .= $var;
 
Na ja, Du ignorierst halt Hinweise. Und unter einer "anständigen" Frage verstehe ich übrigens nicht "hab's jetzt so, funktioniert nicht". Da beschreibt man mal, was denn passiert, ob und welche Fehlermeldungen es gibt usw.
Das da oben dürfte doch wohl schon einen Parse-Error schmeißen, oder nicht? Fällt Dir am Syntax-Highlighting jetzt was auf?

LG
 
Zurück