• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MYSQL语句疑惑

php 搞代码 4年前 (2022-01-23) 15次浏览 已收录 0个评论
文章目录[隐藏]

$sql=”select * from news where id = ‘”.$_GET[‘id’].”‘”;
$query=mysql_query($sql);
$rs=mysql_fetch_array($query);

上面那句查询语句为什么这样写会出错$sql=”select * from news where id = $_GET[‘id’]”;
求解答,新手关于单引号和双引号的区别和为什么要上面那样写,不明白,谢谢!

回复讨论(解决方案)

可以加个{}
$sql=”select * from news where id = {$_GET[‘id’]}”;

$sql=”select * from news where id = $_GET[‘id’]”;

这样写应该没错,提示什么错误??

可以加个{}
$sql=”select * from news where id = {$_GET[‘id’]}”;

能解释一下吗?为什么那样不行,而你这样可以呢?

$sql=”select * from news where id = $_GET[‘id’]”;

这样写应该没错,提示什么错误??

4本文¥来源gao!%daima.com搞$代*!码$网9

搞代gaodaima码

出错:Parse error: syntax error, unexpected ” (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\just\edit.php on line 5

这是 php 的约定,没有什么为什么
在双引号中出现关联数组的成员时,必须写作
“$_GET[id]”

“{$_GET[‘id’]}”

这是 php 的约定,没有什么为什么
在双引号中出现关联数组的成员时,必须写作
“$_GET[id]”

“{$_GET[‘id’]}”

嗯,按照你的格式2个都不会报错。
$nc=$_POST[nc];
$sql=mysql_query(“select * from tb_user where name='”.$nc.”‘”,$conn);

$nc是一个普通变量接受$_POST[nc]赋给的值,那下面为什么看到别人还要这样写呢”select * from tb_user where name='”.$nc.”‘”

echo $sql; 一切就明白了

为什么看到别人还要这样写呢”select * from tb_user where name='”.$nc.”‘”
那是因为他不知道或习惯于他原来用的语言
当然也可能是听信了别人的误导,认为
“select * from tb_user where name=’$nc'”
需要寻址而导致效率变低
殊不知,”select * from tb_user where name='”. $nc.”‘”
一样也有个寻址过程呢?

哦,我以为是固定那样写的,这个PHP单双引号和C,C++里搞混了。字符串和单个字符。谢谢大家!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MYSQL语句疑惑

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址