PHP数据库未添加数据
我在PHP中使用try/catch语句,但我的代码正在执行catch语句,但不确定为什么,下面是catch中生成的JSON消息PHP数据库未添加数据,php,mysql,json,database,mysqli,Php,Mysql,Json,Database,Mysqli,我在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
{"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));
}
我已经查看了代码,但没有任何内容是不正确的,可能我遗漏了什么?插入
$response["error"] = $ex;
在catch语句中,您可以看到发生了什么异常并触发捕获。您没有对抛出的异常执行任何操作
$ex
。如果您临时删除了try-catch块,php将向您显示错误所在。或者您转储$ex
包含的任何内容。我已经修改了代码,但仍然收到相同的JSON消息,有什么想法吗?您收到的消息完全相同吗?您是否编辑了消息为“Database Error1.Please Retry!”的两条catch语句?是的,但仍然没有什么不同,是否有更好的方法来编写此解决方案?您可以尝试只回显$ex消息,因为我不确定我不太熟悉的json部分。或者正如jeroen提到的,暂时移除您的try-catch块。。。
{"success":0,"message":"Database Error1. Please Try Again!"}