PHP 스크립트에서 SELECT 문으로 해결할 수없는 문제가 있습니다. 이 쿼리는 작업을 수행하고 있지만 특정 열의 값도 가져와야합니다.MySQL SELECT 문에 PHP 변수를 포함하는 방법
`다시
`
$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);
는,이 쿼리는 일을하고있다. 하지만 지금은
SELECT Price FROM...
부분을 변수로 대체하려고합니다. 내가 이런 식으로 일을 해요로, 즉시
`
if ($_SESSION['user']['Organisation'] == 'DEPT1'){
$varPriceCol = 'PriceDEPT1';
}
elseif ($_SESSION['user']['Organisation'] == 'DEPT2'){
$varPriceCol = 'PriceDEPT2';
}
else{
$varPriceCol = 'Price';`
:하지만
나는이 이전에 쿼리를 넣어(SELECT "$varPriceCol" FROM preise WHERE Art_pKey = a.pKey ORDER BY From_date DESC LIMIT 1) Price
를 쿼리가 작동을 멈 춥니 다. 변수 대신 "PriceDEPT1"또는 "PriceDEPT2"또는 "Price"를 배치하면 쿼리는 3 개의 열 이름 중 하나에서 작동하기 시작합니다.
내가 뭘 잘못하고 있니?
많은 감사! 이로 인해 문제가 해결되었습니다. 애정! – 0xbadc0de