php进入空白页面,没有错误,但没有在数据库中输入infi

时间:2013-11-04 19:50:33

标签: php forum

感谢您的帮助,如果您还有其他需要,请与我们联系。 标题中的详细信息。

<?php

$subject = $_POST['subject'];
$comment = $_POST['comment'];
$submit = $_POST['submit'];

if ($submit)

{
$connect = mysql_connect("host","un","psw");
mysql_select_db("rebeler_comment");

$query = mysql_query("INSERT INTO table VALUES('','$subject','$comment')");
}


?>

<form action="form.php" method="POST">
<label>Subject</label></br>
<input type="text" name="subject"</br>
<label>Comment</label></br>
<textarea name="comment"></textarea></br>
<input type="submit" name="submit" value="Submit">

用我的html更新

2 个答案:

答案 0 :(得分:0)

修复你的SQL插入(在某些事情中),定义要插入的列,而不是盲目地将东西扔进黑暗中。

<强>实施例

INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)

同样使用mysql_error()获取错误。我还建议利用一个php框架来解决注入问题和其他你可能错过手工编写mysql的东西。

答案 1 :(得分:0)

首先,不推荐使用MySQL_。使用MySQLi_和/或PDO。

现在,您没有指定"where"将数据放入表格中。

假设您的列分别命名为subjectcomment

此外,table一词是reserved 。因此,如果您的表确实被称为table,那么您需要在内部回滚,

like this: `table`

$query = mysql_query("INSERT INTO table (`subject`, `comment`) 
VALUES ('$subject','$comment')");

如果表名称为“table”:

使用:

$query = mysql_query("INSERT INTO `table` (`subject`, `comment`) 
VALUES ('$subject','$comment')");

'',删除('','$subject','$comment'),因为您只有2个值在数据库中。

您甚至可能想要连接如:

VALUES ('" . $subject . "','" . $comment . "')");

回显成功消息:

$query = mysql_query("INSERT INTO `table` (`subject`, `comment`) 
VALUES ('$subject','$comment')");

echo "Data successfully written to DB";
}

else{
echo "Sorry, there was a problem.";
}

编辑2:

<?php
$subject = $_POST['subject'];
$comment = $_POST['comment'];

if(isset($_POST['submit']))
{
$connect = mysql_connect("host","un","psw");
mysql_select_db("rebeler_comment");

$query = mysql_query("INSERT INTO `table` (`subject`, `comment`) VALUES ('" . $subject . "','" . $comment . "')");
$retval = mysql_query( $query, $connection ); if(! $retval ) { die('Could not enter data: ' . mysql_error()); }
echo "Entered data successfully\n";
mysql_close($connection);
}
?>

编辑1:

$query = mysql_query("INSERT INTO `table` (`subject`, `comment`) VALUES ('" . $subject . "','" . $comment . "')");
$retval = mysql_query( $query, $connection ); if(! $retval ) { die('Could not enter data: ' . mysql_error()); }
echo "Entered data successfully\n";
mysql_close($connection);