And*_*eba 0 php mysql ajax jquery
我有这个jquery脚本
$(function() { // <----doc ready starts
$("#btn1").click(function(e) {
e.preventDefault();
var name = $("#id1").val();
var last_name = $("#id2").val();
var dataString = {'name=':name, 'last_name': last_name};
$.ajax({
type: 'POST',
dataType: 'jsonp',
url: 'http://localhost/insert.php',
success: function(data) {
alert(data);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
而这个php从第一个脚本插入参数到mysql数据库:
<?php
$conn = mysqli_connect('localhost', 'root', '');
$name = $_POST['name'];
$last_name = $_POST['last_name'];
$mysqli = new mysqli('localhost','root','','os');
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
$insert_row = $mysqli->query("INSERT INTO table_info (name, name2) VALUES($name, $last_name)");
if ($insert_row){
print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />';
}
else {
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$mysqli->free();
$mysqli->close();
?>
Run Code Online (Sandbox Code Playgroud)
当我试图运行它时,它失败并出现该错误:
注意:未定义的索引:第3行的C:\ wamp\www\insert.php中的名称
注意:未定义的索引:第4行的C:\ wamp\www\insert.php中的last_name
错误:(1064)您有错误你的SQL语法; 检查与您的MySQL服务器版本对应的手册,以便在第1行的')'附近使用正确的语法
这里有什么问题,对不起愚蠢的问题,这是我第一次使用php和jQuery.
您没有将您的dataString变量提供给AJAX调用,因此不会发送任何数据.您需要在以下data属性中添加它$.ajax:
$("#btn1").click(function(e) {
e.preventDefault();
var name = $("#id1").val();
var last_name = $("#id2").val();
var dataString = { 'name': name, 'last_name': last_name };
$.ajax({
type: 'POST',
dataType: 'jsonp',
url: 'http://localhost/insert.php',
data: dataString,
success: function(data) {
alert(data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
请注意,我还修复name=了对象定义中的拼写错误.