php中的sql语句

$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一样直接写上去呢?

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   //最终只是输出变量名,是字符串

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网