![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
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一样直接写上去呢? 展开
$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一样直接写上去呢? 展开
1个回答
展开全部
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 //最终只是输出变量名,是字符串
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询