$body = $_POST['post'];
$submit = $_POST['submit'];
$date = date("Y-m-d");
require('php/connect.php');
if($submit)
{
$query = mysql_query("INSERT INTO news (`id`, `body`, `date`) VALUES (NULL, '".$body."', '".$date."')");
header("Location: index.php");
}
我不明白为什么这不起作用,我直接从我的管理员那里接受了查询,之后我自己写了一行simular,它仍然不起作用,有人可以吗?
答案 0 :(得分:2)
你绝对应该使用mysql_real_escape_string
来转义你的输入值使用mysql_error,您可以打印出错误消息,但需要连接标识符作为参数。
答案 1 :(得分:1)
我只是建议处理mysql错误
$query = mysql_query("INSERT INTO news (`id`, `body`, `date`) VALUES (NULL, '".$body."', '".$date."')")
or trigger_error(mysql_error());
如果id
是主键,则不能为空
您应该使用mysql_real_escape_string函数来转义用户输入。
如果我在"that's it "
输入中加上$body
值,您的查询将会失败,会发生什么情况。
答案 2 :(得分:0)
注释掉你的标题(“位置:index.php”);并追加或死亡(mysql_error());在您的查询代码的末尾,它将显示出错的地方。在将用户输入插入数据库之前,您还应该使用“mysql_real_escape_string”。
$body = mysql_real_escape_string($_POST['post']);
$submit = $_POST['submit'];
$date = date("Y-m-d");
require('php/connect.php');
if($submit)
{
$query = mysql_query("INSERT INTO news (`id`, `body`, `date`) VALUES (NULL, '$body', '$date')") or die(mysql_error());
//header("Location: index.php");
}