【问题标题】:PHP & MySQLi Fatal error: Call to a member function bind_param() on a non-object [duplicate]PHP & MySQLi 致命错误:在非对象上调用成员函数 bind_param() [重复]
【发布时间】:2014-02-03 22:02:24
【问题描述】:

我正面临这个问题,我已经搜索了几个小时...... 我看不出这段代码有什么问题...这里有什么问题?

db.php:

<?php
$mysqli = mysqli_connect('localhost', 'root', '', 'site');
if(mysqli_connect_errno()) 
    {
          echo "Erro BD";
          exit();
    }
?>

更新.php:

include 'db.php';

$zzz = '';
$email = 'asdsaf@gmail.com';

$ins = $mysqli->prepare("update USER set cod_valida =? where email =?");
$ins->bind_param('ss', $zzz, $email);

   if ($result = $ins->execute()){

      $ins->free_result();
      echo "It works";
   }
   else
   {
     echo "Error";
   }
$ins->close();
$mysqli->close();

是否有回显我尝试发送的查询或 mysql 错误?

感谢您的帮助,而不是对我的帖子投反对票,因为我已经检查了所有内容但没有找到答案。

【问题讨论】:

  • 检查 $mysqli 的初始化。添加 $mysqli 的初始化代码。
  • 你的 Mysqli 连接正常吗?
  • 哦,是的。我在这段代码运行前后初始化了 mysqli。
  • $mysqli 在一个单独的文件中初始化,它启动了 mysql 连接,并且它可以与包括这个在内的其他查询一起正常运行
  • 线程已更新,您可以看到 mysqli 连接

标签: php mysqli insert-update


【解决方案1】:

您的查询表名似乎有误。表名区分大小写,并使用数据库表检查您的列名。

参考:mysql case sensitive table names in queries

改变

$ins = $mysqli->prepare("update USER set cod_valida =? where email =?");

$ins = $mysqli->prepare("update user set cod_valida =? where email =?");

【讨论】:

  • 仍然无法正常工作.. 无论如何要回显我要发送的查询?谢谢。
  • @B1GB0Y: 绑定后: $ins->error ?给我错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 2013-11-19
  • 1970-01-01
  • 2015-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多