Rumah > Artikel > pembangunan bahagian belakang > MYSQL语句疑惑
$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']";
这样写应该没错,提示什么错误??
出错: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++里搞混了。字符串和单个字符。谢谢大家!