当前位置: 首页 > 知识库问答 >
问题:

php 中用于准备语句的函数在本地服务器中工作正常,但在远程服务器中不起作用

松和安
2023-03-14

准备语句工作正常。但是如果我对prepare语句使用bellow函数,那么它将返回空结果。我的代码:

//prepare statement * all column
function prepare_select_stmt($link, $sql, $param_type, array $param){
  $num_param = strlen($param_type);
  $link->stmt_init();
  $stm = $link->prepare($sql);
  $bindParam = '$stm->bind_param($param_type,';
  for($i=0;$i<=$num_param-1;$i++){
    $bindParam.='$param['.$i.'],';
  }
$bindParam = rtrim($bindParam,',').');';
eval($bindParam);

//$stm->bind_param($param_type, $param);
$stm->execute();
$stm->store_result();

$meta = $stm->result_metadata();
$bindResult = '$stm->bind_result(';
while($columnName = $meta->fetch_field()){
    $bindResult .= '$result["'.$columnName->name.'"],';
}
$bindResult = rtrim($bindResult,',').');';
eval($bindResult);


$numRows= $stm->num_rows();
  if($numRows>0){

    $stm->fetch();
    return array($numRows,$result);
  }else{
    return array($numRows,array()); //empty array() means no result
  }
  $stm->close();
}

此函数在本地服务器中工作正常,但在远程服务器中返回零结果。为什么?

共有1个答案

祁绪
2023-03-14

如果一个函数在一台服务器上运行良好,而在另一台服务器上运行不良,通常是因为您没有此功能、文件不可读等……

因此,请检查日志,您也可以使用GDB进行跟踪

问候。

 类似资料:
  • 我是新的名称堆域服务器。我试图在名称堆服务器上发送一封简单的邮件。它没有发送邮件,返回了一个空值,没有任何错误。 这是我的示例代码。 假设我将$to和$from mailID分配到一个名为SHEAP的服务器邮件中,然后邮件成功发送。 例子: 但是我正在把邮件$to或$from改成gmail服务器,就像则它不会发送邮件,并且返回空值,不会出错。如何修复。 from(不接收来自PHP mail()方法

  • 我正在自学servlet,找到了一些非常好的教程,并在Eclipse Neon EE中取得了巨大成功。(非常基本的servlet,只提供一个简单的静态网页) 在安装Eclipse Neon EE之前,我安装了Tomcat standalone,并对其进行了测试,得到了regulat apache Tomcat页面。我找到的教程还指导我如何在Eclipse中设置tomcat服务器。他们还向我展示了如

  • 我的插座有问题。io作为一名广播员与laravel echo合作。 我试过什么: 我可以看到用户在日志中连接: 我的队列正在运行,正在正确记录所有事件。 我可以在redis控制台中完美地看到redis我的事件和数据库通知。 但是没有广播任何事件,我也没有在laravel echo服务器控制台中看到它们。一切都在我的本地主机上运行,但在生产环境中没有,我失去了理智。 以下是我的laravel ech

  • 问题内容: 我有这个Docker Compose配置,我只需创建一个NodeJS容器并在其中安装Angular CLI。 之后,我可以使用SSH在容器内进行SSH 。可以正常工作,但似乎不起作用。它已正确启动,控制台中没有错误。但是,如果我访问(我将端口4200映射到80),则不会加载任何内容。 我想念什么吗? 问题答案: 在您的Dockerfile中,您缺少Expose行,例如: 尝试将其放在d

  • 我一直在努力从我的ubuntu服务器发送邮件。奇怪的是,它在我的mac上的本地tomcat实例上运行得非常好。 以下是我的实现: 让我恼火的是,javamail的输出日志在我的服务器和本地是一样的,而且没有错误: 到目前为止我所做的一切 > 检查我的垃圾邮件(比如一千次,以防万一... 尝试了其他端口,如465和25- 使用iptable打开587端口 iptables -A 输出 -p tcp

  • 我用Instagram API在PHP中取数据。我的本地机器上一切正常。我甚至改变了我的服务器IP,但仍然得到相同的错误。后来,我检查了服务器控制台,发现它返回500错误的post请求。这不是要求的限制,我很确定。有什么可能是错的。?测试链接:https://www.instagram.com/p/b_qq8rvlbwh/?__a=1 curl https://www.instagram.com/