使用AJAX将数据发送到数据库失败

时间:2015-09-18 06:58:52

标签: php mysql ajax

我想通过AJAX将数据发送到PHP文件,在PHP文件中,数据将保存到mysql数据库中。

这是我的AJAX代码:

$('a').on('click', function(){
    var href = $(this).attr('href'); 
    var JsSessionID = $(this).data('info');
    var data = 'url=' + href + '&JsSessionID=' + JsSessionID;
    $.ajax({
        url: "/wp-content/themes/twentyfifteen/js/test.php",
        type: "POST",
        data: data,
        success: function(data) {

        }
    });          
});

这是我的PHP代码: 是的没有mysqli ..它仅用于测试。

$url = $_POST['url'];
$JsSessionID = $_POST['JsSessionID'];

$verbindung = mysql_connect ("abc","db1", "123")
or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");

mysql_select_db("db1")
or die ("Die Datenbank existiert nicht.");


$eintrag = "INSERT INTO test (ID, JsSessionID, URL) VALUES ('', $JsSessionID, $url)";
$eintragen = mysql_query($eintrag);

此代码不起作用。

数据未保存到我的数据库中,我不知道为什么。 连接正确,AJAX将数据正确发送到我的PHP文件。 我测试了它 - 我尝试捕获数据并将其保存到txt文件中。

这很有效。

$datei = fopen("daten.txt","w");
echo fwrite($datei, $url,100);

1 个答案:

答案 0 :(得分:1)

您在MySQL查询中插入字符串(VARCHAR)数据,不带单引号:

变化:

$eintrag = "INSERT INTO test (ID, JsSessionID, URL) 
VALUES ('', $JsSessionID, $url)";

要:

$eintrag = "INSERT INTO test (ID, JsSessionID, URL) 
VALUES ('', '$JsSessionID', '$url')"; // Observe additional single quotes.