我的数据不会保存到SQL

时间:2012-10-18 14:38:18

标签: php mysql

为什么我的数据不会进入我的sql数据库?我知道我已连接到数据库。我知道发布的数据到达此页面是因为我可以回应它。 !emptys的行有问题。当我输入yyy但不是xxx的值时,我会收到“Please Fill out all Fields”消息。但是,如果我将两者都留空,或仅输入xxx的值,我什么也得不到。当我为两者输入值时,我会收到“失败”消息,因此数据没有插入到sql中。

if (isset($_POST['xxx']) && ($_POST['yyy']))  {
$xxx = $_POST['xxx'];
$age = $_POST['yyy'];
    if (!empty($xxx) && !empty($yyy)) {

    $query = "INSERT INTO test VALUES ('".mysql_real_escape_string($child_name)."',
    '".mysql_real_escape_string($age)."')";
        if ($query_run = mysql_query($query)) {
        echo 'Data inserted.';
        } else {
            echo 'Failed.';
        }
} else {
    echo 'Please fill out all fields';
}
}

5 个答案:

答案 0 :(得分:3)

首先更正isset

yyy声明
if (isset($_POST['xxx']) && isset($_POST['yyy']))

第二次更正:

$yyy = $_POST['yyy'];代替$age = $_POST['yyy'];

第三次更正:

if (mysql_query($query))代替if ($query_run = mysql_query($query))

因为mysql_query()返回bool

echo mysql_error();而不是echo 'Failed.';来获取你的mysql错误!

答案 1 :(得分:0)

检查你的php和mysql错误。

<?php

echo (mysql_error());
error_report(E_ALL);

?>

答案 2 :(得分:0)

检查查询并尝试使用此代码并在('id', 'field name')上重命名:

 $query = "INSERT INTO test ('id', 'field name') VALUES ('". mysql_real_escape_string($child_name) ."', '". mysql_real_escape_string($age) ."')";

答案 3 :(得分:0)

您是否尝试过查询?

在发送之前回应查询并尝试在phpmyadmin

中运行它

还要添加echo mysql_error();以查看错误

答案 4 :(得分:0)

几个问题:

1.  if (isset($_POST['xxx']) && ($_POST['yyy']))  { //needs to be
    if (isset($_POST['xxx']) || isset($_POST['yyy']))  {

2.  if (!empty($xxx) && !empty($yyy)) { //needs to be
    if ( !empty($xxx)) ||  !empty($age) ) { 

3.  if ($query_run = mysql_query($query)) { //whats $query_run?
如果查询成功,

mysql_query($query)会返回TRUE。请参阅manual