mysql_query没有在我的数据库中插入任何内容

时间:2013-05-03 04:46:03

标签: php mysql ajax

我在这里有一些代码:

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

它与我序列化它有关吗?

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

3 个答案:

答案 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)

  1. 检查Internet Explorer是否生成了哪些代码 (检查要素)
  2. 添加到会话开头的php文件
  3. <?php
    echo '<pre>';
    var_dump($_POST);
    die();
    ?>
    

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