尝试将$ _POST插入MySQL时没有任何价值

时间:2013-01-21 12:30:17

标签: php mysql http-post mysql-real-escape-string mysql-insert-id

我正在制作一个测验系统,当我尝试插入问题文本时,从HTML表单的$ _POST中,它只是插入一个空值,而question_id保持为零:

        Question text: <br />
                    <textarea name="qtext" rows="2" style="width:200px; height:100px;" name="qst"></textarea> <br />

PHP部分

$post_qtext = $_POST['qst'];
$post_qtext = mysql_real_escape_string($post_qtext);
    $q_insertquestions = mysql_query("INSERT INTO `questions` (`question`,`type`) VALUES ('$post_qtext','1')");
$q_lastquestioninserted = mysql_insert_id($q_insertquestions);

表中的question_id是int(11) mysql中的问题是varchar(60)

3 个答案:

答案 0 :(得分:4)

textarea有name="qtext",但PHP有$_POST['qst'];

您需要访问与您的字段名称相同的数组索引。

...我现在看到它name="qst"。不允许在单个元素上使用相同的属性两次。浏览器可能会或可能不会从此错误中恢复。您应该使用a validator

答案 1 :(得分:0)

您在HTML页面中有两次书面名称更改它,并将您的文本区域名称更改为qst

<textarea name="qst" rows="2" style="width:200px; height:100px;"></textarea> <br />

答案 2 :(得分:0)

因为您为textarea

添加了两个名称

name="qst"

中删除textarea
<textarea name="qtext" rows="2" style="width:200px; height:100px;"></textarea> 

并且这样做:

$post_qtext = $_POST['qtext'];