Ich habe ein nicht lösbares Problem mit einer SELECT-Anweisung in einem PHP-Skript. Diese Abfrage macht ihren Job, aber ich muss sie auch erweitern, um die Werte aus einer bestimmten Spalte zu erhalten.Wie man eine PHP-Variable in eine MySQL SELECT-Anweisung einfügt
`
$r = DBi::$conn->query('
SELECT
a.pKey,
a.Name,
a.`Pic-Name`,
a.GTIN,
a.Type,
a.Avail,
(SELECT Price FROM preise WHERE Art_pKey = a.pKey ORDER BY From_date DESC LIMIT 1) Price,
(AVG((b.Preice/b.Art_Num) * -1.00)) Mid_price,
a.Created
FROM art a LEFT
JOIN kasse b ON a.pKey = b.Art_pKey
WHERE Aktiv = "Y" AND Avail = "Y" AND Visible = "Y"
GROUP BY a.pKey
ORDER BY Avail DESC, Name ASC
') or trigger_error('Query Failed! SQL: ' . $r . ' - Error: ' . mysqli_error(DBi::$conn), E_USER_ERROR);
`
Auch diese Abfrage tut seine Arbeit. Aber jetzt versuche ich den SELECT Price FROM...
Teil durch eine Variable zu ersetzen.
Ich habe diese vor der Abfrage:
`
if ($_SESSION['user']['Organisation'] == 'DEPT1'){
$varPriceCol = 'PriceDEPT1';
}
elseif ($_SESSION['user']['Organisation'] == 'DEPT2'){
$varPriceCol = 'PriceDEPT2';
}
else{
$varPriceCol = 'Price';`
Aber sobald, wie ich es so mache: (SELECT "$varPriceCol" FROM preise WHERE Art_pKey = a.pKey ORDER BY From_date DESC LIMIT 1) Price
die Abfrage nicht mehr funktioniert. Wenn ich "PriceDEPT1" oder "PriceDEPT2" oder "Price" anstelle einer Variablen platziere, beginnt die Abfrage für jeden der 3 Spaltennamen zu arbeiten.
Was mache ich falsch?
Vielen Dank! Dies hat das Problem gelöst. Liebe! – 0xbadc0de