【发布时间】:2017-03-31 05:09:11
【问题描述】:
我有以下 php 代码:
<?php
$connect = mysqli_connect("localhost","root", "","archit") or die("Couldn't connect to database");
$str = "SET @id := (SELECT ID FROM users where Name ='$u_name'); SELECT UID FROM useratt where ID = '@id';";
echo $str;
$query12 = mysqli_multi_query($connect,$str);
echo $query12;
while($row = $query12->fetch_assoc())
{
$str1 = "SET @UID := '".$row."';
SELECT AttributeValue FROM att_value where UID=@UID;
SET @AID := (SELECT AID FROM att_value WHERE UID=@UID);
SELECT AttributeName FROM att_name WHERE AID=@AID;";
echo $str1;
$query1= mysqli_multi_query($connect,$str1);
echo $row[0];
}
?>
我得到了一般错误,但是当我在 MySQL 上运行相同的代码时,它可以正常工作。有人可以帮我看看我错过了什么。
我什至尝试过异常处理,但没有帮助。
注意:代码在 while 循环条件下失败。
【问题讨论】:
-
我知道..在发布之前已经进行了适当的搜索。已经检查了所有已经回答的帖子,但没有帮助。连接工作正常。其他查询正常工作。
-
您是否在 $query12 中获取资源 ID?
-
如果我在 mysql 控制台中运行它,我会得到。但是当我运行 PHP 时,我得到了一个错误。当我打印 $query12 它打印“1”
-
完全正确..因为它 mysqli_multi_query 返回布尔值..我发布正确的方法来做到这一点
-
使用新的mysqli函数建立连接,可能会修复错误
标签: php mysqli mysqli-multi-query