这个问题已经在这里有了答案 :
我的PDO声明无效 (1个答案)
4年前关闭。
我正在尝试PDO在php上使用类,但是在查找正确的错误处理方式时遇到了一些麻烦,我编写了以下代码:
PDO
<?php // $connection alreay created on a class which works with similar UPDATE statements // I've simply added here trim() and PDO::PARAM... data type $id = 33; $name = "Mario Bros."; $url = "http://nintendo.com"; $country = "jp"; try { $sql = "UPDATE table_users SET name = :name, url = :url, country = :country WHERE user_id = :user_id"; $statement = $connection->prepare ($sql); $statement->bindParam (':user_id', trim($id), PDO::PARAM_INT); $statement->bindParam (':name', trim($name), PDO::PARAM_STR); $statement->bindParam (':url', trim($url), PDO::PARAM_STR); $statement->bindParam (':country', trim($country), PDO::PARAM_STR, 2); $status = $statement->execute (); } catch (PDOException $e) { print $e->getMessage (); } print $status; // it returns a null value, and no errors are reported ?>
这部分代码不报告错误,但根本不起作用,$status底部的var 返回空值。
$status
有人可以帮我找到我错了吗?
除非您告知,否则PDO不会引发异常。你跑了吗:
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
在PDO对象上?