Php mysql\u查询不起作用
我得到了这个密码:Php mysql\u查询不起作用,php,mysql,sql,database,Php,Mysql,Sql,Database,我得到了这个密码: set @row_num = 0; SELECT @row_num := @row_num + 1 as row_number,id,name,salary FROM employee ORDER BY salary; 这与mySQL完美配合。当我尝试使用mysql_查询函数通过PHP执行时,问题来了。它给了我这个错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 近';在第1行选择@row_num:=@row_num+1 as,i
set @row_num = 0;
SELECT @row_num := @row_num + 1 as row_number,id,name,salary
FROM employee
ORDER BY salary;
这与mySQL完美配合。当我尝试使用mysql_查询函数通过PHP执行时,问题来了。它给了我这个错误:
您的SQL语法有错误;检查手册
对应于您的MySQL服务器版本,以便使用正确的语法
近';在第1行选择@row_num:=@row_num+1 as,id,name'
我知道,问题来自SET@ROW_NUM,但我需要知道为什么它在MYSQL中工作,而不是在PHP上工作。我不能使用任何其他代码,这段代码是正确的,它可以工作,但不是在PHP中。有没有关于为什么不能在PHP上工作的建议
谢谢,因为它们被视为两个查询,所以您不能将其作为一个查询运行,但您可以这样做:
SELECT @row_num := @row_num + 1 as row_number,id,name,salary
FROM employee, (SELECT @rum_num :=0 ) AS t
ORDER BY salary;
请停止使用mysql\u查询,改用。因为它们被视为两个查询,所以您不能将其作为一个查询运行,但您可以这样做:
SELECT @row_num := @row_num + 1 as row_number,id,name,salary
FROM employee, (SELECT @rum_num :=0 ) AS t
ORDER BY salary;
请停止使用mysql\u查询,改用。来自:
mysql\u query发送唯一查询多个查询不支持到服务器上与指定链接\u标识符关联的当前活动数据库
您的查询字符串包含两个查询,因此不能使用mysql\u query调用它
此外,您应该注意到PHP mysql_xxx函数是oboslete函数,不推荐使用-再次,请参阅手册页了解更多信息
因此,最好的解决方案是切换到支持所需功能的更现代的数据库API。在PHP中有两个选项:或。我推荐PDO,因为它更灵活,但是如果您已经习惯使用旧的mysql函数,那么mysqli更容易使用。来自:
mysql\u query发送唯一查询多个查询不支持到服务器上与指定链接\u标识符关联的当前活动数据库
您的查询字符串包含两个查询,因此不能使用mysql\u query调用它
此外,您应该注意到PHP mysql_xxx函数是oboslete函数,不推荐使用-再次,请参阅手册页了解更多信息
因此,最好的解决方案是切换到支持所需功能的更现代的数据库API。在PHP中有两个选项:或。我推荐PDO,因为它更灵活,但是如果您已经习惯使用旧的mysql函数,那么mysqli更容易使用。您的意思是使用PDO和prepared语句您的意思是使用PDO和prepared语句您正在使用多个sql查询。因此,请研究多重查询。或者使用@MahmoudGamal语句。您正在使用多个sql查询。因此,请研究多重查询。或者使用@MahmoudGamal的语句。