PHP脚本在执行的语句[duplicate]中的execute()处停止执行

问题描述 投票:1回答:2

我已经用准备好的语句编写了一个php脚本。在我的本地xampp服务器(PHP版本5.5.15,MYSLQI mysqlnd 5.0.11-dev)上运行良好。现在更改服务器(PHP版本5.3.26,MYSQLI 5.1.36)不再起作用。它开始执行脚本,但在第一个get_result()命令之前立即停止。

//read DB entries
$sql_topic = "SELECT * FROM topic ORDER BY ID DESC";

$var = "naventry";

//prepared statement
$query = $mysqli->prepare($sql_topic);
$query -> execute();
//-------------------

//topic loop
if ($query = $query->get_result()) {
    while($topic = $query->fetch_assoc()) {

错误日志中没有信息,我不知道在哪里搜索解决方案。

希望您的帮助!!pplopp

php mysql mysqli prepared-statement
2个回答
0
投票

要想更多地了解问题所在,请测试代码的每个输出:

// enable all errors for debugging
error_reporting(E_ALL);
ini_set('display_errors', 'On');

$query = $mysqli->prepare($sql_topic);
if (!$query)
  die($mysqli->error);
$res = $query->execute();
if (!$res)
{
   die($query->error);
}

在将代码投入生产时(或将die()替换为debug()(您需要编写自己的代码)或file_put_contents,error_log等时,请记住以消除这些错误显示)>


0
投票

我知道这很旧,但是还没有解决,我遇到了同样的问题。这在我的Windows AMPPS开发环境中完美运行,但在GoDaddy的cPanel Linux主机上的生产环境中不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.