2017-04-04 67 views
-3

有人可以幫助我:PHP PDO錯誤語法

enter image description here

我有錯誤,當我寫這篇文章

$check = $db->prepare("SELECT email FROM user WHERE email = ?"); 
if($check->rowCount() == 1){ 
    $error = "<div class ='text-danger'> Email Telah Digunakan </div>"; 
} else { 
    $code = rand(); 
    $status = 0; 
    try{ 
     $query = $db->prepare("INSERT INTO users(first_name,last_name,email,password,gender,code,status) VALUES (?,?,?,?,?,?,?,)"); 
     $query->execute([$first_name,$last_name,$email,password_hash($password,PASSWORD_DEFAULT),$gender,$code,$status]); 
    } 
    catch(PDOException $e){ 
     echo"error: " .$e->getMessage(); 
    } 
} 
+0

你需要'執行'和'綁定'在'count'之前。 – chris85

+1

你在'VALUES()'末尾加了一個''',沒有任何東西 – Nytrix

回答

1

好了,你在你的VALUES()的結束有,列表之後沒有任何內容,這會導致語法錯誤。這裏是固定的版本:

$check = $db->prepare("SELECT email FROM user WHERE email = ?"); 
if($check->rowCount() == 1){ 
    $error = "<div class ='text-danger'> Email Telah Digunakan </div>"; 
}else{ 
    $code = rand(); 
    $status = 0; 
    try{ 
     $query = $db->prepare("INSERT INTO users(first_name,last_name,email,password,gender,code,status) VALUES (?,?,?,?,?,?,?)"); 
     $query->execute([$first_name,$last_name,$email,password_hash($password,PASSWORD_DEFAULT),$gender,$code,$status]); 
    } 
    catch(PDOException $e){ 
     echo "error: " .$e->getMessage(); 
    } 
} 

你哪裏還缺少了if語句結束括號。或者你錯了。我實際上沒有檢查完整的功能,只是我能找到的語法錯誤。

小提示

如果你正確地格式化你的代碼,你可以找到語法錯​​誤很多容易。一個好的代碼編輯器也有幫助。

+1

哦,你救我嘿嘿謝謝:) – Aimu