我有mysql查询:
SET @row = 0;
SELECT @row := @row + 1 AS Row, col1
FROM table1;
但是如何正确放入$sql=",,,,,,,";
?
我试过:
SET @row = 0;
$sql = "SELECT @row := @row + 1 AS Row, col1
FROM table1";
但我认为它不起作用,然后尝试:
$sql = "SELECT @row := @row + 1 AS Row, col1
FROM table1,
(SELECT @rownum = 0)";
没有错误,但我得到的结果是 Row is null 这是真正的查询:
SELECT @rownum:=@rownum+1 AS No, B.Serial_number,A.Symptom
FROM oqc_defect A
JOIN (SELECT @rownum := 0) r
LEFT JOIN inspection_report B
ON A.Model = B.Model
WHERE Appearance = 'NG' OR Packing = 'NG' OR Accesories = 'NG' OR Tuner = 'NG' OR General_operation = 'NG'
GROUP BY A.Model
我得到的结果如下:
No Serial_number Symptom
1 106X0336 Remocon Wrong Part Number
6 106X0528 Trimplate have scratch
7 106V8024 IC breaket not lock to top chassis
8 106X5890 IC breaket not lock to top chassis
9 106X5866 IC breaket not lock to top chassis
10 106X0781 Finder crack at bottom side
最佳答案
用途:
$sql = "SELECT @rownum := @rownum + 1 AS Row,
t.col1
FROM table1 t
JOIN (SELECT @rownum := 0) r ";
我更正的内容:
- 您需要
:=
来设置变量 - 您声明的变量是
@rownum
,而不是您过去添加到自身的@row
PHP 的 mysql_query
不支持多个查询,因此使用 SET 的版本将无法像您发布的那样工作。我提供的解决方案不需要 SET
语句,因此可以在 mysql_query
中运行...
关于php - 如何在php中正确放置mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067212/