0

我在这里有这段代码:

<?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 = '';
    }
 });

和我序列化有关系吗?

我希望这是足够的信息。谢谢!

4

3 回答 3

3

mysql_query需要第一个参数作为查询,第二个参数作为连接对象(可选)

改变这个

$result = mysql_query($con, $sql);

$result = mysql_query($sql, $con);

您也用于mysql连接和查询,但您曾经mysqli关闭连接。

于 2013-05-03T04:48:38.523 回答
1

您可能刚刚切换了 $sql 和 $con 语句。在 mysql_query $sql 应该是第一个参数。这很容易忘记,因为 mysqli_query 应该将 $con 作为第一个。:/

php die() 语句与 exit 相同,并将以状态 200 结束脚本。很可能您在输出中得到错误。尝试在例如开发者控制台(Chrome)中查看它

于 2013-05-03T04:55:57.323 回答
0
  1. 在 Internet Explorer 中检查生成了哪些代码(检查元素)
  2. 添加到会话 php 文件的开头
<?php
echo '<pre>';
var_dump($_POST);
die();
?>

这将显示发送到数据库的值。

于 2013-05-03T06:57:45.420 回答