<?
include("coon.php");
if($_POST[submit])
{
$sql="insert into message values('','$_POST[name]','$_POST[title]'," .
"'$_POST[content]',now())";
mysql_query($sql) or die ("sas");
}
//else echo "失败";
?>
<form action ="liuyan.php" method="POST">
姓名:<input type ="text" size=10 name="name"/><br>
标题:<input type ="text" size=20 name="title"/><br>
内容:<input type ="text" size=30 name="content"/><br>
<input type ="submit" name="submit" value="提交留言"/> </form>
各位看官看看,上面这个简单留言本是正确的,能成功运行,但是书上的例子是在$_POST['submit']是加了引号的,也能正常运行
但是在写sql语句的时候我写出这样 $sql="insert into message values('','$_POST[‘name’]','$_POST[‘title’]'," .
"'$_POST[‘content’]',now())"
我把$POST数组的值全加了引号,就会报错,是什么原因呢,我记得看过一篇文章,作者说是要加引号的,不加的话会把传过来的变量先当做常量,如果找不到该常量,再把值作为字符串,但是我放到sql句子中怎么会报错呢,什么时候该加引号,什么时候不该加呢。。这个问题快让我崩溃了。。
include("coon.php");
if($_POST[submit])
{
$sql="insert into message values('','$_POST[name]','$_POST[title]'," .
"'$_POST[content]',now())";
mysql_query($sql) or die ("sas");
}
//else echo "失败";
?>
<form action ="liuyan.php" method="POST">
姓名:<input type ="text" size=10 name="name"/><br>
标题:<input type ="text" size=20 name="title"/><br>
内容:<input type ="text" size=30 name="content"/><br>
<input type ="submit" name="submit" value="提交留言"/> </form>
各位看官看看,上面这个简单留言本是正确的,能成功运行,但是书上的例子是在$_POST['submit']是加了引号的,也能正常运行
但是在写sql语句的时候我写出这样 $sql="insert into message values('','$_POST[‘name’]','$_POST[‘title’]'," .
"'$_POST[‘content’]',now())"
我把$POST数组的值全加了引号,就会报错,是什么原因呢,我记得看过一篇文章,作者说是要加引号的,不加的话会把传过来的变量先当做常量,如果找不到该常量,再把值作为字符串,但是我放到sql句子中怎么会报错呢,什么时候该加引号,什么时候不该加呢。。这个问题快让我崩溃了。。
"'$_POST[‘content’]',now())" ;
如果你的id主键是自增长的,就不要加在sql语句里面了。另外这个句尾你没有分号,不知道是不是忘了?
你这个问题不是问过了么?
"'$_POST[‘content’]',now())" ;
echo $sql;
第一个:
sql="insert into message values('','$_POST[name]','$_POST[title]'," .
"'$_POST[content]',now())";
第二个:
$sql="insert into message values('$_POST[‘name’]','$_POST[‘title’]'," .
"'$_POST[‘content’]',now())" ;
为什么第一个对,第二个错,而在判断的时候 if($_POST[submit])这个和if($_POST[‘submit’])
为什么又都对
"'$_POST['content']',now())" ;
echo $sql;
确实是没传过值来,但是上面的判断 if中的$_POST[submit]何$_POST['sumit']为什么都能执行呢
在sql句子中加引号为什么传不过变量的值
问什么要这样做,可以不必管他
至少看上去舒服些