PHP数据库未添加数据

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

我在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));
}
我已经查看了代码,但没有任何内容是不正确的,可能我遗漏了什么?

插入

$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!"}