php中的sql语句

$username=$_POST['username'];$result=mysqli_query($conn,"SELECT*FROMuserWhereusername... $username = $_POST['username'];
$result = mysqli_query($conn,"SELECT * FROM user Where username = '".username."'");

$id = $_GET['id'];
$result = mysqli_query($conn,"SELECT body FROM user Where id = $id");

以上这两串代码中,第一条 中单引号,双引号,和点的用处是什么?还有为什么不像下面的那个id一样直接写上去呢?
展开
 我来答
帐号已注销
2018-07-14 · 超过24用户采纳过TA的回答
知道答主
回答量:68
采纳率:75%
帮助的人:42万
展开全部

1、很多时候我们在开发时需要将字符串与变量连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号 " . " ,  " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:

<?php
$name = "百度知道:";
$url =  "zhidao.baidu";
echo $name.$url.".com";
?>

输出结果为:

百度知道:zhidao.baidu.com

2、php在进行数据库查询时,如果对象是字符串,则需要使用引号将字符串区分开,这就是上面你的第一个问题,例如,你通过POST接受到的$username值是"zhanagsan",那么:

mysqli_query($conn,"SELECT * FROM user Where username = '".$username."'");

php在进行解析时就是

mysqli_query($conn,"SELECT * FROM user Where username = 'zhangsan'");

如果你觉得这样会让你有点看不过来,还可以这样写:

mysqli_query($conn,"SELECT * FROM user Where username = '{$username}'");

这里的{}也是起到连接的作用。

3、应用字符串连接符号有时候没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果(这是你的第二个问题)。例如:

<?php
$name = "百度知道:";
$url =  "zhidao.baidu";
echo "$name$url.com"; // 双引号里的变量同一般的字符串自动进行区分
?>

但是单引号(' ')就不可以了,这样如果不加连接符,解析后还是字符串,例如:

<?php
$name = "百度知道:";
$url =  "zhidao.baidu";
echo '$name$url.com'; // 单引号里的变量不会同一般的字符串自动进行区分
?>

最终的输出结果就变成了

$name$url.com   //最终只是输出变量名,是字符串
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式