簡體   English   中英

使用PDO將數據插入MySQL數據庫

[英]Inserting data into MySQL database using PDO

我是PHP和MySQL的新手,我正在嘗試將數據插入數據庫,在我嘗試使用PDO的prepare方法之前,它一直工作良好。 它返回catch錯誤,我不知道為什么-我還想知道使用未命名的占位符還是命名的占位符是最佳實踐?

用戶名和密碼變量是在我的代碼中定義的,並使用$_POST捕獲來自用戶的數據。

編輯:getMessage()錯誤顯示SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'username' cannot be null

if (!empty($user) && (!empty($password)) ) {
    try {
        $results = $db->prepare("INSERT INTO user_info (username, pass) VALUES (?,?)");
        $results->bindParam(1,$username);
        $results->bindParam(2,$password);
        $results->execute();
    } catch (Exception $e) {
        echo "Could not insert data in to the database";
    }
}

您有兩個不同的變量名。 您正在檢查$user ,以確保它不是empty() ,然后告訴bind $username到第一個參數。 您只需要重命名其中一個即可匹配另一個。

試試這個。

if (!empty($user) && (!empty($password)) ) {
try {
    $results = $db->prepare("INSERT INTO user_info (username, pass) VALUES (?,?)");
    $results->bindParam(1,$user);
    $results->bindParam(2,$password);
    $results->execute();
} catch (Exception $e) {
    echo "Could not insert data in to the database";
}

}

請先嘗試一下該錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM