加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – PDO bindParam是否允许不存在变量?

发布时间:2020-12-13 17:15:40 所属栏目:PHP教程 来源:网络整理
导读:在开发过程中我设置了error_reporting(-1);所以我确信 PHP会显示每个语法错误.例如,它就是这样 echo $ttt; 当然它给出了 Notice: Undefined variable: ttt in ... 在这段代码中(某些类的一部分表示mysql表中的一行): public function delete(){// ... $sth=
在开发过程中我设置了error_reporting(-1);所以我确信 PHP会显示每个语法错误.例如,它就是这样

echo $ttt;

当然它给出了

Notice: Undefined variable: ttt in ...

在这段代码中(某些类的一部分表示mysql表中的一行):

public function delete(){
// ...
  $sth=$dbh->prepare('DELETE FROM tobjects WHERE IdObject=:id');
  $sth->bindParam(':id',$this->fid,PDO::PARAM_INT);
  $sth->execute();

我错误输入现在的$this-> fid并没有发生删除,甚至没有发现任何错误,我花了很长时间才找到它.

$dbh在其他地方设置为:

$dbh=new PDO("mysql:host=XXXX;port=XXXX;dbname=XXXX",$db_user,$db_password,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES 'UTF8''));
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

我做错了什么或者怎么可能没有给出错误?

解决方法

您没有看到通知,因为 bindParam的参数作为参考传递.

function test(&$var) {
    // var may also be undefined
    var_dump($var);
}

test($undef);

这不会引发任何错误. Doc:What References Do

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读