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

Posted

技术标签:

【中文标题】使用 jQuery (ajax) 和 PHP 插入我的数据库【英文标题】:Insert into my database with jQuery (ajax) and PHP 【发布时间】:2012-06-28 19:21:05 【问题描述】:

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

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

我在 Golden-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
    
);
 

插入消息.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】:

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

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

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

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

【讨论】:

我已将 auteur_message 中的字段重命名,效果很好。感谢您的帮助

以上是关于使用 jQuery (ajax) 和 PHP 插入我的数据库的主要内容,如果未能解决你的问题,请参考以下文章

从 PHP (jQuery/AJAX) 插入 MySQL

使用 PHP ajax 和 jQuery 插入每个函数

无法使用 Php 和 jquery ajax 在 mysql 中插入 FormData

无法使用 PHP 和 JQuery Ajax 将新记录插入 mysql db

通过 for 循环和 php 数组进行多次插入(通过 jQuery AJAX 接收)

ajax调用后使用jQuery插入记录不起作用