Я использую запрос mysql в phpmyadmin, он работает правильно.ошибка mysql: У вас есть ошибка в синтаксисе SQL;
SET @runtot=0;
SELECT p_reference, p_id, p_description, (@runtot := @runtot + p_quantity) AS runningTotal
FROM (
SELECT p_reference, p_id, p_description, p_quantity
FROM product_table
WHERE p_description = 'product_1' AND p_quantity <= 21000
ORDER BY p_reference
) AS l
WHERE @runtot + p_quantity <= 21000;
, но у меня есть проблема, когда используется в файле PHP, Вы имеете ошибку в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для корректного синтаксиса использовать вблизи 'SELECT p_reference, p_id, p_description, (@runtot: = @runtot + p_quantity) AS ру' в строке 2
Этот исходный код PHP
<?php
$connect = mysql_connect("localhost", "root", "");
mysql_select_db("datatest");
$query = mysql_query("SET @runtot=0;
SELECT p_reference, p_id, p_description, (@runtot := @runtot + p_quantity) AS runningTotal
FROM (
SELECT p_reference, p_id, p_description, p_quantity
FROM product_table
WHERE p_description = 'product_1' AND p_quantity <= 21000
ORDER BY p_reference
) AS l
WHERE @runtot + p_quantity <= 21000");
if($query === FALSE){
die(mysql_error());
}
while($data = mysql_fetch_assoc($query)){
echo $data['p_reference']." ".$data['p_quantity'];
}
?>
И эТО ИСТОЧНИК СОЗДАТЬ таблицу продукта
CREATE TABLE IF NOT EXISTS `product_table` (
`p_id` int(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
`p_description` varchar(50) NOT NULL,
`p_reference` varchar(25) NOT NULL,
`p_location` varchar(25) NOT NULL,
`p_quantity` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
INSERT INTO `product_table` (`p_id`, `p_description`, `p_reference`, `p_location`, `p_quantity`) VALUES
(1, 'Product_1', '1A00001', 'AP07', 7000),
(2, 'Product_1', '1A00001', 'AF05', 6000),
(3, 'Product_1', '1A00233', 'DS07', 7000),
(4, 'Product_1', '1A00233', 'SD10', 5000),
(5, 'Product_1', '1A00001', 'YB12', 7000),
(6, 'Product_1', '1A00001', 'AN01', 7000),
(7, 'Product_1', '1A00001', 'AP04', 7000),
(8, 'Product_1', '1A00245', 'AP01', 7000),
(9, 'Product_1', '1A00001', 'QD01', 7000),
(10, 'Product_1', '1A00001', 'SC01', 7000);
Не используйте фрагменты с PHP. Используйте их только для JavaScript, HTML и CSS – SuperDJ
с помощью mysql_error(), чтобы узнать, в чем проблема. Кроме того, рассмотрите возможность использования mysqli_ *, поскольку mysql_ * устарел. – Typoheads
'mysql_query' возвращает false, потому что ему не понравился ваш запрос. вы пытаетесь экстраполировать данные из булева. – Flosculus