我在通过PHP和Jquery ajax调用将数据发送到MySQL时遇到困难,我是新手,如果它显而易见,那么道歉 - 任何帮助都会受到赞赏。
连接数据库php
<?php
DEFINE ('DB_USER', 'user account');
DEFINE ('DB_PSWD', 'password');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'dbname');
$dbcon = mysqli_connect(DB_HOST, DB_USER, DB_PSWD, DB_NAME);
?>
call.php:
<?php
include(connect_db.php);
$name = $_POST['name'];
$age = $_POST['age'];
mysql_query("INSERT INTO user ('name', 'age') VALUES ('$name','$age')");
?>
ajax电话:
通过功能
添加姓名和年龄function send (name, age) {
$.ajax({
type: "POST",
url : "scripts/call.php",
data : "name=" + name + "&age=" + age,
success: function(data) {
console.log('success');
},
error: function () {
console.log('failed');
}
});
}
我确实获得了一个成功的console.lo但数据库中没有显示任何数据。
谢谢, 斯蒂芬
答案 0 :(得分:1)
您正在混合mysqli_*
和mysql_*
不能正常工作的电话,您必须只使用一个电话。另外,我建议使用带参数化查询的预准备语句。
答案 1 :(得分:0)
我从来没有能够让mysqli_connect工作。我总是用这个
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if (!$con) {
die('Could not connect: ' . mysql_error());
}
然后我使用mysql_select_db来选择数据库,如下所示:
mysql_select_db($database) or die(mysql_error());
然后这会运行我的查询:
$sql = "INSERT INTO user ('name', 'age') VALUES ('$name','$age')";
$query = mysql_query($sql,$con);
if(!$query)
{
die('Could not enter data: ' . mysql_error());
}
mysql_close($con);
对不起。我不太擅长解释为什么或如何运作,但它对我有用。如果它没有运行,请在浏览器中输入网址,查看是否为您提供更具体的信息。
答案 2 :(得分:-1)
首先需要传递有效数据
{"name": name, "age" : age}
然后在call.php中
$results = json_decode(file_get_contents('php://input'));
$name = $results->name;
$age = $results->age;