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());
}
展开
 我来答
小芬达0602
2013-02-22
知道答主
回答量:20
采纳率:0%
帮助的人:5.2万
展开全部
这样写是不对的,应该写成这样:
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]"这一段字符串
8Liang
2013-02-22 · TA获得超过134个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:246万
展开全部
FirstName,LastName的值是字符串,在sql中字符要用单引号包起来,Age这个值如果是数字的话,可以不用单引号,字段的值是否为字符串,取决于你建表时对该字段的设置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
失落的雨毛
2013-02-22 · TA获得超过844个赞
知道小有建树答主
回答量:1074
采纳率:50%
帮助的人:955万
展开全部
加单引的意思是说明他是一个字符串,而不是一个数字,
防止数据库中该字段是数值型报错
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghostbell
2013-02-22 · 超过12用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:35.5万
展开全部
把这是mysql的语法格式,mysql插入语句的values就是要加引号的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
novice_pegasus
2013-02-22 · TA获得超过624个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:648万
展开全部
对啊 不是说单引号套上后不执行吗 那么这三个变量的内容不就是显示不出来了?
——答:你这里是mysql中的单引号,不是PHP中的单引号
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式