【发布时间】:2011-03-07 23:13:21
【问题描述】:
我不明白为什么我的 MY_SQL 插入不起作用。
<?php
$sub = $_POST['submit'];
if($sub)
{
$title = $_COOKIE['newstitle'];
$body = $_COOKIE['newsbody'];
$sneak = $_COOKIE['newssneak'];
$date = date("Y-d-m");
$postedby = $_COOKIE['userlogin'];
$connect = mysql_connect("localhost","admin","00904684") or die("Couldn't Connect!");
mysql_select_db("dr") or die("Couldn't find DB.");
$insert = mysql_query
("
INSERT INTO news(`id`,`title`,`summary`,`body`,`date`,`postedby`)
VALUES ('NULL','".$title."','".$sneak."','".$body."','".$date."','".$postedby."')
");
mysql_close($connect);
header('Location: ../index.php');
}
else echo (mysql_error());
?>
我的代码在我向其中添加了一个新的字段“摘要”之前一直有效,因为它没有工作,但我知道变量正在正确传递。
这是我的数据库布局:
标识 |标题 |总结 |身体 |日期 |发帖人
【问题讨论】:
-
添加
if (!$insert) echo mysql_error();以查看 mySQL 抛出了什么错误 -
你有什么错误?如果我将我的
newstitlecookie 编辑为具有" OR 1=1;的值怎么办?mysql_real_escape_string()在这个例子中是你的朋友,或者 PDO 是一个更好的朋友 :) -
1. 请阅读 mysql_real_escape_string -- 2. 尝试在查询后立即回显 mysql_error() 以查看您遇到的错误并将其发布在此处。谢谢