MYSQL INSERT问题

时间:2011-04-22 15:12:44

标签: mysql insert

$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,它仍然不起作用,有人可以吗?

3 个答案:

答案 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");
}