我想通过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);
答案 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.