0
jsonでmysqliエラーを返す方法があるかどうかを理解しようとしています。以下は私のコードです。このコードは、SQLが実際に動作しても、配列内のform_passを返します。json配列の準備文のエラーを返します
if($pass){
$stmt2 = mysqli_stmt_init($con);
$sql = 'UPDATE `users` SET `fname` = ?,`lname` = ?,`email` = ?,`username` = ?,`password` = ?,`active` = ?,`enc` = ? WHERE `id` = ?';
if(mysqli_stmt_prepare($stmt2,$sql)){
mysqli_stmt_bind_param($stmt2,'sssssiii',$fname,$lname,$email,$username,$password,$active,$ran,$id);
mysqli_stmt_execute($stmt2);
if(mysqli_stmt_affected_rows($stmt2) == 0){
$return_arr['error_msg'] = mysqli_stmt_error($stmt2);
} else {
$return_arr['form_pass'] = 'true';
}
}
}
print json_encode($return_arr);
私はSQLが失敗した場合、mysqli_stmt_affected_rows
は-1
、ない0
を返します
if(!mysqli_stmt_execute($stmt2)){
$return_arr['error_msg'] = mysqli_stmt_error($stmt2);
}
と
if(mysqli_stmt_error($stmt2)){
$return_arr['error_msg'] = mysqli_stmt_error($stmt2);
}