使用jQuery(ajax)和PHP插入我的数据库

时间:2012-06-27 11:10:24

标签: php jquery sql ajax insert

我正在尝试在我的表格中插入一些数据:金书。一切都很好,我没有任何错误,答案很好,但我的表中没有数据插入。

我不知道这段代码有什么问题,也许你可以帮助我?

我在gold-book.js中的ajax请求

function insert_messages(auteur_message,message){
$.ajax({    

    type : "POST",
    cache: false,  
    url : "insert-messages.php",
    data:{
        auteur_message:auteur_message,
        message:message
    },
    success: function() {   
    },
    error : function() {//en cas de problème de requete AJAX
        alert("Sorry, The requested property could not be found.");//affichage d'un mesage d'erreur
    }
});
} 

插入-messages.php

<?php

$auteur_message = $_POST['auteur_message'];
$message = $_POST['message'];
try {
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=photo', 'root', '');
} catch (Exception $e) {
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : ' . $e->getMessage());
}

$req = $bdd->prepare('INSERT INTO photo.golden_book (auteur-message , message) VALUES (:auteur , :message)'); 
$req->execute(array(
'auteur' => $auteur_message,
'message' => $message));
?>

先谢谢你们花时间帮助我。

1 个答案:

答案 0 :(得分:4)

auteur-message是无效的字段名称。 MySQL会将其解释为auteur MINUS message。见:http://dev.mysql.com/doc/refman/5.0/en/identifiers.html。在不存在的字段上进行数学运算也没有意义 - 不能减去尚未插入的内容。

您可以尝试使用反引号引用它:

... .gold_book(`auteur-message`, ...

但实际上,您应该重命名该字段。逃避是一种黑客行为。