【发布时间】:2023-03-09 00:20:02
【问题描述】:
我在这个 PHP 中使用了 try/catch 语句,但我的代码正在执行 catch 语句,但不知道为什么,这是 catch 中生成的 JSON 消息。
{"success":0,"message":"Database Error1. Please Try Again!"}
代码如下
$query = " SELECT 1 FROM tbl_client WHERE master_username = :user";
$query2 = " SELECT 1 FROM tbl_client WHERE institution_pin = :institution_pin";
$query_params = array(
':user' => $_POST['username']
);
$query_params2 = array(
':institution_pin' => $_POST['institution_pin']
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error1. Please Try Again!";
die(json_encode($response));
}
$row = $stmt->fetch();
if ($row) {
$response["success"] = 0;
$response["message"] = "I'm sorry, this username is already in use";
die(json_encode($response));
}
try {
$stmt = $db->prepare($query2);
$result = $stmt->execute($query_params2);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error1. Please Try Again!";
die(json_encode($response));
}
$row = $stmt->fetch();
if ($row) {
$response["success"] = 0;
$response["message"] = "I'm sorry, someone has already chosen that PIN, choose another!";
die(json_encode($response));
}
我查看了代码,但没有任何错误提示,也许我遗漏了什么?
【问题讨论】:
-
您没有对抛出的异常
$ex做任何事情。如果你暂时删除你的 try-catch 块,php 会告诉你到底哪里出了问题。或者你转储$ex包含的任何内容。
标签: php mysql json database mysqli