Rozwiązanie tego problemu może być proste w porównaniu z moim widokiem.Zmienne MYSQL w zapytaniu php
Próbuję uruchomić kwerendę MYSQL przechowywane jako ciąg znaków w PHP. Zapytanie działa poprawnie z użyciem narzędzia DBM, takiego jak Navicat, ale zwraca false w moim środowisku programistycznym PHP. Czy jest coś, na co skończyłem?
SET @running_sum = 0;
SELECT
TID,
SumTotal,
T.`Freight`,
T.`Insurance`,
T.`Discount`,
CONCAT(
'$',
FORMAT(
@running_sum :[email protected]_sum + SumTotal + T.`Freight` + T.`Insurance` - T.`Discount`,
2
)
) AS 'Running Total'
FROM
(
SELECT
TID,
SUM(Quantity * UnitNetValue) AS SumTotal,
T.`Freight`,
T.`Insurance`,
T.`Discount`
FROM
Transactions T
JOIN `Transactions_Products` P ON T.TransactionID = P.TID
WHERE
(
T.TemplateName = ''
OR T.TemplateName IS NULL
)
AND T. STATUS = 1
GROUP BY
TransactionID
) AS T;
Wykonuję kwerendę taką jak ta;
$result = mysql_query($this->query);
$this->query
to ciąg znaków, który zawiera powyższe zapytanie, ponieważ jest wyświetlany powyżej.
Dziękuję za pomoc MrCode. To jest bardzo cenione. Zaktualizuję mój kod, aby wziąć to pod uwagę. –
Należy również mieć na uwadze względy bezpieczeństwa podczas używania mysqli_multi_query() do wysyłania wielu zapytań naraz. Z mysqli_multi_query() otwieramy się na wstrzykiwane zapytania, takie jak "; DROP DATABASE". http://php.net/manual/en/mysqli.quickstart.multiple-statement.php – Paul