PHP数据库查询下面一条语句 为什么用单引号把$_POST[firstname] 等单个变量套起来
mysql_select_db("my_db",$con);$sql="INSERTINTOperson(FirstName,LastName,Age)VALUES('$...
mysql_select_db("my_db", $con);
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
} 展开
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
} 展开
展开全部
这样写是不对的,应该写成这样:
mysql_select_db("my_db", $con);
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('".$_POST[firstname]."','".$_POST[lastname]."','".$_POST[age]"')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
解释:
$_POST[age]等是你传递进来的变量需要作为sql语句中的值应该用字符串连接符"."把变量连接进去,如果直接写在里面将无法获取到变量的值,数据库中插入的结果是"$_POST[fistname]"这一段字符串
mysql_select_db("my_db", $con);
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('".$_POST[firstname]."','".$_POST[lastname]."','".$_POST[age]"')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
解释:
$_POST[age]等是你传递进来的变量需要作为sql语句中的值应该用字符串连接符"."把变量连接进去,如果直接写在里面将无法获取到变量的值,数据库中插入的结果是"$_POST[fistname]"这一段字符串
展开全部
FirstName,LastName的值是字符串,在sql中字符要用单引号包起来,Age这个值如果是数字的话,可以不用单引号,字段的值是否为字符串,取决于你建表时对该字段的设置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加单引的意思是说明他是一个字符串,而不是一个数字,
防止数据库中该字段是数值型报错
防止数据库中该字段是数值型报错
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把这是mysql的语法格式,mysql插入语句的values就是要加引号的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对啊 不是说单引号套上后不执行吗 那么这三个变量的内容不就是显示不出来了?
——答:你这里是mysql中的单引号,不是PHP中的单引号
——答:你这里是mysql中的单引号,不是PHP中的单引号
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询