【发布时间】:2013-01-21 12:30:17
【问题描述】:
我正在制作一个测验系统,当我尝试从 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)
【问题讨论】:
-
请停止使用
mysql_*函数,它们不再受支持并且已开始弃用过程。查看 mysqli 或 PDO 以获得更安全和受支持的功能集。 -
您的 textarea 名为
qtext,但您正在阅读不存在的$_POST['qst'] -
您已经为文本区域指定了两次“名称”属性,首先删除其中一个。
-
打开 display_errors,您将看到未定义的索引通知,这将识别问题。
error_reporting(E_ALL); ini_set('display_errors', 1); -
@MichaelBerkowski 问题是他给了它一个“名字”,两次。
标签: php mysql http-post mysql-real-escape-string mysql-insert-id