php - 如何在php中正确放置mysql查询?

标签 php mysql sql

我有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/

相关文章:

php - unserialize() 值插入数据库的 serialize()。?

php - 如何在 Symfony 2.8 中使用 PHP 5.6 可变函数参数?

c++ - 关闭游标错误mysql连接器c++ 8.0

sql - 在 SQL 中查找总和为特定数量(或其他表中的 amt)的行的组合

sql - 用下划线替换破折号和空格,并使列名大写

php - Mysql乘法运算

php - Program-O 聊天机器人自动完成

mysql - 替换 MYSQL 中的非 ASCII 字符

mysql - IN() 函数中使用的用户定义 session 变量返回意外结果

mysql - 从现有的 MySql 数据库创建 SQL Server 数据库