[英]Carry over working multi-query MySQL to PHP
以下内容按预期在MySQL(phpMyAdmin)中工作:
SET @randomComposer=(SELECT composer FROM compositions ORDER BY RAND() LIMIT 1);
SELECT * FROM compositions WHERE composer!='' AND composer=@randomComposer;
但是我无法将其带入PHP。 使用查询串联,语法突出显示在SET…行的开头失败,并且在查询数据库时出现错误。 如何说服PHP识别可正常使用的MySQL?
(研究使我进入了mysqli_multi_query,我知道这是我需要遵循的路线,但我首先需要弄清PHP对SET的厌恶。)
这就是我将尝试用一个语句来完成的方式。
SELECT compositions.* FROM compositions
INNER JOIN
(SELECT composer FROM compositions ORDER BY RAND() LIMIT 1) AS RandComposer
ON compositions.composer = RandComposer.composer
您可能需要将WHERE composer!=''
到子查询中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.