2015-11-16 2 views
0

Я использую оператор try/catch в этом PHP, но мой код выполняет инструкцию catch, но не уверен, почему именно это сообщение JSON, созданное в catch.PHP-база данных, не добавляющая данные

{"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)); 
} 

Я посмотрел на код, но ничего не выпрыгивает, как неправильное, может быть, я что-то отсутствует?

+5

Вы ничего не делаете с выброшенным исключением '$ ex'. Если вы временно удалите блок try-catch, php покажет вам, что именно не так. Или вы сбрасываете все, что содержится в '$ ex'. – jeroen

ответ

0

Вставка

$response["error"] = $ex; 

в вашем заявлении поймать так что вы видите, что происходит исключение и запускает улов.

+0

Я изменил свой код и все еще получаю одно сообщение JSON, любые идеи? – GTucker

+0

Вы получаете точно такое же сообщение? Вы отредактировали оба оператора catch, когда ваше сообщение «Database Error1. Please Try Again!»? – Margu

+0

Да, я все же ничего не изменил, есть ли лучший способ закодировать это решение? – GTucker

Смежные вопросы