【发布时间】:2016-01-20 11:46:33
【问题描述】:
我正在使用 Jquery/AJAX 和 PHP 提交要保存在 MySQL 数据库中的信息。 这是我到目前为止所做的:
function Addinfo() {
var ew = document.getElementById("ew").value;
var mw = document.getElementById("mw").value;
var dataString = 'ew1=' + ew + '&mw=' + mw;
if (ew == '' || mw == '') {
alert("Please Fill All Fields");
} else {
$.ajax({
type : "POST",
url : "ajaxadd.php",
data : dataString,
dataType : 'text',
cache : false,
})
.done(function (data) {
$('#message1').html(data);
})
}
return false;
}
还有我的 PHP 代码:
<?php
$ew2 = $_POST['ew1'];
$mw2 = $_POST['mw1'];
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("tp", $connection);
if (isset($_POST['ew1'])) {
$query = mysql_query("insert into table(ew, mw) values ('$ew2', '$mw2')");
$addresult = mysql_query("SELECT * FROM `table` WHERE `ew` = '" . $_POST['ew1'] . "' ORDER BY `id` DESC LIMIT 1");
$aircraft = mysql_fetch_assoc($addresult);
echo $aircraft;
}
mysql_close($connection); // Connection Closed
?>
它成功地将信息保存到数据库中,但我什至无法获得成功消息,更不用说来自 PHP 的变量了。我已经阅读了无数关于异步调用、回调函数和承诺的帖子,但不知何故我无法让它工作。任何帮助将不胜感激。
【问题讨论】:
-
$aircraft将是一个数组,您使用的是echo而不是print_r()。试试print_r(); -
@AnkiiG 谢谢。我刚才试过了,但我仍然无法得到回应。
-
只使用简单的成功消息而不是 print_r。
-
你真的应该为你的 SQL 使用准备好的语句。就你现在的代码而言,你很容易受到 SQL 注入攻击
-
@RoryMcCrossan 我明白了,我是一个完整的初学者,所以我完全忽略了任何安全问题。谢谢,我会在稍后阶段研究它。
标签: javascript php jquery mysql ajax