Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php表单mysql错误到数据库_Php_Mysql_Database_Input - Fatal编程技术网

php表单mysql错误到数据库

php表单mysql错误到数据库,php,mysql,database,input,Php,Mysql,Database,Input,我有一个表单似乎不想将其数据写入我的数据库。我对php mysql有些陌生。当我测试脚本时,页面会重新加载,只显示一个“0”。我不知道我错过了什么?感谢您的帮助 形式 季号: 如果php代码抛出错误,请在new.php中禁用以下行: //header("Location: form.html") 然后,您需要使用执行$query 如果php代码抛出错误,请在new.php中禁用以下行: //header("Location: form.html") 然后,您需要使用执行$query 不确定

我有一个表单似乎不想将其数据写入我的数据库。我对php mysql有些陌生。当我测试脚本时,页面会重新加载,只显示一个“0”。我不知道我错过了什么?感谢您的帮助

形式


季号:

如果php代码抛出错误,请在new.php中禁用以下行:

//header("Location: form.html")
然后,您需要使用执行$query


如果php代码抛出错误,请在new.php中禁用以下行:

//header("Location: form.html")
然后,您需要使用执行$query

不确定“0”,但一般来说,您的代码看起来像是为了可读性而删掉了一些内容。如果不是

    if (!empty($_POST[season_sum]) && !empty($_POST[eps_num]) && !empty($_POST[temp_eps_num]) && !empty($_POST[title]) && !empty($_POST[descrip]))
    {

        if ( !empty($_POST['ID']))
            $id = (int)$_POST['ID'];
        else 
            $id = 'NULL';

        // mysql_real_escape_string() example
        $descrip = mysql_real_escape_string($_POST['descrip']);

        //Insert new entry
        $query = mysql_query("INSERT INTO `season` (`ID`, `season_num`, `temp_eps_num`, `esp_num`, `title`, `descrip`) VALUES ({$id}, '{$season_sum}', '{$eps_num}', '{$temp_eps_num}', '{$title}', '$descrip')") or die(mysql_error());

        // Send user back to the list once the update is successfully finished
        header("Location: http://www.yoursite.com/form.html");
        exit;
    }
我没有加入转义,因为建议您将db insert字符串用。除此之外,您从来没有实际运行过查询,也没有使用大括号包装if语句。我甚至不知道页面在这种情况下会怎么想

请尝试应用这些更改,并告知错误是否仍然存在

注意-我在标题位置后添加了退出。另外,我把一个完整的url路径放进去,因为我听说这是更好的做法。不过,我不支持这种说法。只是我在什么地方听到的一件事

mysql\u real\u escape\u string()说明: 要使用它,必须打开一个连接。这通常是在db类中处理的,所以如果您发现它什么也不做,请查看mysql_connect(); 要使用,只需像这样调用:

$sql = mysql_query("SELECT * FROM `table` WHERE `id` = '".mysql_real_escape_string($string_to_escape)."'");
它不会添加单报价包装。它所做的只是帮助清理字符串,以防止常见的sql注入攻击。

不确定“0”是否正确,但一般来说,您的代码看起来像是为了可读性而删掉了一些内容。如果不是

    if (!empty($_POST[season_sum]) && !empty($_POST[eps_num]) && !empty($_POST[temp_eps_num]) && !empty($_POST[title]) && !empty($_POST[descrip]))
    {

        if ( !empty($_POST['ID']))
            $id = (int)$_POST['ID'];
        else 
            $id = 'NULL';

        // mysql_real_escape_string() example
        $descrip = mysql_real_escape_string($_POST['descrip']);

        //Insert new entry
        $query = mysql_query("INSERT INTO `season` (`ID`, `season_num`, `temp_eps_num`, `esp_num`, `title`, `descrip`) VALUES ({$id}, '{$season_sum}', '{$eps_num}', '{$temp_eps_num}', '{$title}', '$descrip')") or die(mysql_error());

        // Send user back to the list once the update is successfully finished
        header("Location: http://www.yoursite.com/form.html");
        exit;
    }
我没有加入转义,因为建议您将db insert字符串用。除此之外,您从来没有实际运行过查询,也没有使用大括号包装if语句。我甚至不知道页面在这种情况下会怎么想

请尝试应用这些更改,并告知错误是否仍然存在

注意-我在标题位置后添加了退出。另外,我把一个完整的url路径放进去,因为我听说这是更好的做法。不过,我不支持这种说法。只是我在什么地方听到的一件事

mysql\u real\u escape\u string()说明: 要使用它,必须打开一个连接。这通常是在db类中处理的,所以如果您发现它什么也不做,请查看mysql_connect(); 要使用,只需像这样调用:

$sql = mysql_query("SELECT * FROM `table` WHERE `id` = '".mysql_real_escape_string($string_to_escape)."'");

它不会添加单报价包装。它所做的只是帮助清理字符串,以防止常见的sql注入攻击。

您实际上从未发送过查询,只是定义了查询字符串。要发送它,您需要使用mysql\u查询($query)


有关更多详细信息,请参阅文档

您从未真正发送过查询,只是定义了查询字符串。要发送它,您需要使用mysql\u查询($query)


有关更多详细信息,请参阅文档

我已经做了你推荐的更改,但是当提交我回到列表时仍然得到了一个“0”。tho,数据输入正确。我已经做了你推荐的更改,但是当提交我回到列表时仍然得到了一个“0”。tho,数据输入正确。看起来我确实需要添加mysql\u real\u escape\u string()在中,由于某些描述中有引号,您能否提供一个代码示例,说明如何添加转义字符串,使我的
$descript
包含引号。您的意思是类似于以下内容吗<代码>mysql\u real\u escape\u字符串($query)已更新。顺便说一句,您似乎没有将post变量分配到查询中调用的简单形式。看看我对$descrip做了些什么。好吧,我正在尝试你的新示例看起来我确实需要添加mysql\u real\u escape\u string(),因为有些描述中有引号。你能提供一个代码示例,说明我如何添加转义字符串,让我的
$descript
包含引号。你是指以下内容吗<代码>mysql\u real\u escape\u字符串($query)已更新。顺便说一句,您似乎没有将post变量分配到查询中调用的简单形式。看看我对$descrip做了什么。好的,我正在尝试你的新例子