这可能非常非常简单,但是如何在同一个 PHP 页面中执行两个查询?
我正在尝试这样做...
<?PHP
error_reporting(E_ALL);
ini_set('display_errors', '1');
include 'db.php';
// FIRST QUERY;
$intCompanyID = 2612;
$sql = "CALL sp_get_company ($intCompanyID)";
$result = $connect->query($sql);
if ($result->num_rows > 0) :
$row = mysqli_fetch_assoc($result);
$company_name = $row["company_name"];
$contact_TEL = $row["contact_TEL"];
echo "company_name=".$company_name."<br />";
echo "contact_TEL=".$contact_TEL."<br />";
endif;
//SECOND QUERY;
$sql = "CALL sp_list_by_region (1)";
$result = $connect->query($sql);
if ($result->num_rows > 0):
while($row = $result->fetch_assoc()) {
echo "company_name = ".$row["company_name"]."<br />";
}
endif;
$connect->close();
?>
第一个查询可以自行运行。第二个查询独立运行。但是当我运行两者时,我收到错误“尝试获取非对象的属性”。显然我没有正确地重用连接。有人可以给我解释一下吗?
提前非常感谢。
最佳答案
这里的问题是由于在一页中使用两个存储过程而不是任意两个 MySQL 查询造成的。 解决方案是在第一个和第二个查询之间添加这两行:
$result->close();
$connect->next_result();
感谢@SlavaRozhev,如果我没有遵循正确的礼仪,我深表歉意 - 我想确保在应得的地方给予认可。
关于php - 一个 PHP 页面中有两个 MySQL 查询 - 错误 "Trying to get property of non-object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59937309/