更新表什麼是錯在這裏致命錯誤通過AJAX
JS
function cstatus(status, user, pass){
var id = $('.pmarked').data('id');
console.log(id); // 101
$.ajax({
url: 'pro-status.php',
type: 'post',
data: {'status': status, 'user': user, 'pass': pass, 'id': id},
success: function(data) {
console.log(data);
}
});
}
親status.php
$sql = "update posts set status = :astatus, user = :auser, pass = :apass, where id = :aid";
$stmt = $db->prepare($sql);
$stmt->execute(array(
":astatus" => $_POST['status'],
":auser" => $_POST['user'],
":apass" => $_POST['pass'],
":aid" => $_POST['id'] // line 12
));
錯誤
致命錯誤...使用接近正確的語法 '其中id = '101'' ......親status.php:12
**切勿將明文密碼!**請使用*** PHP的[內置函數(http://jayblanchard.net/proper_password_hashing_with_PHP。 html)***來處理密碼安全性。如果您使用的PHP版本低於5.5,則可以使用'password_hash()'[兼容包](https://github.com/ircmaxell/password_compat)。 ***在散列之前,不需要[escape passwords](http://stackoverflow.com/q/36628418/1011527)***或使用其他任何清理機制。這樣做會改變密碼並導致不必要的附加編碼。 –
你能更好地解釋你想要做什麼嗎? – Samuel
由於簡單的錯字而投票結束**作爲**題外話 - 在WHERE之前有一個尾隨逗號。 – Qirel