gpt4 book ai didi

php - 在非对象错误上调用成员函数bind_param(),但 SQL 可以工作

转载 作者:行者123 更新时间:2023-11-29 08:04:59 25 4
gpt4 key购买 nike

我有一个在 phpmyadmin 中成功运行的 SQL 查询,但在 PHP 中它会调用在非对象上调用成员函数 bind_param() 错误消息。您能给出任何可能出现问题的想法吗?

$con = mysqli_connect($mysql_server,$mysql_user,$mysql_pass,$mysql_database);
if (!$con)
{
$error_auth="Failed to connect to MySQL: " . mysqli_connect_error();
return false;
};

$stmt = $con->prepare("SELECT `start`, `timetable`.`id`, `guide_id`, `name` FROM `timetable` INNER JOIN `excursions` ON `timetable`.`excursion_id` = `excursions`.`id` WHERE `name` LIKE ? LIMIT 150");
if (!$stmt)
{
echo "Errormessage: %s\n";
echo $mysqli->error;
}
//, $from_date, $to_date
$stmt->bind_param("s", "%".$str_search."%");

错误:

Errormessage: %s
<!--error--><br />
<b>Fatal error</b>: Call to a member function bind_param() on a non-object in <b>\json\classes\tigran_search_transaction_script.php</b> on line <b>27</b><br />

最佳答案

错误是您的“bind_param”语句:

“bind_param”需要一个可以“引用”的变量。您传递一个“计算的”。遗憾的是,只有 PHP 知道它存储在哪里,并且它不会告诉任何人它所在的位置。

你需要做的是:

$my_str_search = "%".$str_search."%";

$stmt->bind_param("s", $my_str_search);

一切都会好起来的,因为 PHP 现在可以准确地告诉数据库在哪里查找所需的正确格式的所有信息。

关于php - 在非对象错误上调用成员函数bind_param(),但 SQL 可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22916442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com