【发布时间】:2016-09-15 14:41:56
【问题描述】:
这是我在 PHP 上的第三天。我有以下代码用于选择数据-
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try
{
$sql = "SELECT LoginName FROM users WHERE LoginName = :LoginName";
$statement = $db->prepare($sql); //intentionally used $db here
$statement->bindParam(':LoginName', $LoginName, PDO::PARAM_STR, 50);
$statement->execute();
$count= $statement->rowCount();
}
catch(PDOException $e)
{
header('Content-Type: application/json');
echo json_encode(array('result'=>'Error','data'=> $e->getMessage()));
}
我故意使用$db 而不是$conn。所以应该有例外。但在我的 ajax 调用中,$e->getMessage() 尚未从 catch 块发送。
有什么帮助吗?
【问题讨论】:
-
不,这不是个例。这是
calling method on null.Core php 的 PHP 警告,不会引发异常。 PHP 支持 OOP,但本身并不是 OOP,因此 PHP 语言级别的错误永远不会引发异常。