我在这里有一些代码:
<?php
error_reporting(E_ALL);
include 'DB.php';
$con = mysql_connect($host,$user,$pass)
or die("Error: ".mysql_error());
$dbs = mysql_select_db($databaseName, $con);
$name = $_POST['name'];
$date = date('Y-m-d');
$amount = $_POST['amount'];
$timPaid = $_POST['timPaid'];
$rennyPaid = $_POST['rennyPaid'];
$sql = "INSERT INTO $tableName (`name`, `date`, `amount`, `timpaid`, `rennypaid`)
VALUES ('$name', '$date', '$amount', '$timPaid', '$rennyPaid')";
$result = mysql_query($con, $sql)
or die("Error: ".mysql_error());
mysqli_close($con);
?>
DB.php是我的数据库设置。我在页面加载时调用它的查询,它连接并提取数据,所以我知道这不是问题。我也没有任何错误。我在帖子上收到状态码200 OK。
这是ajax帖子:
var name = $('#name').val();
var amount = $('#amount').val();
var timPaid = $('#timPaid').val();
var rennyPaid = $('#rennyPaid').val();
var data = $('#newSubmissionForm').serialize();
$.ajax({
url: 'insert.php',
data: data,
type: 'post',
success: function()
{
window.location.href = '';
}
});
它与我序列化它有关吗?
我希望这是足够的信息。谢谢!
答案 0 :(得分:3)
mysql_query需要第一个参数作为查询,第二个参数作为连接对象(可选)
更改此
$result = mysql_query($con, $sql);
到
$result = mysql_query($sql, $con);
您还使用mysql
进行连接和查询,但您使用mysqli
关闭了连接。
答案 1 :(得分:1)
您可能刚刚切换了$ sql和$ con语句。在mysql_query中,$ sql应该是第一个参数。这很容易忘记,因为mysqli_query应该有$ con作为第一个。 :/
php die()语句与exit相同,并将以状态200结束脚本。可能您在输出中出错。尝试在例如开发者控制台(Chrome)中查看它
答案 2 :(得分:0)
<?php echo '<pre>'; var_dump($_POST); die(); ?>
这将显示发送到数据库的值。