where `id` ='".$_GET['id']."'" 最后这句为啥这么多引号?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了where `id` ='".$_GET['id']."'" 最后这句为啥这么多引号?相关的知识,希望对你有一定的参考价值。

$sql="select * from `news` where `id` ='".$_GET['id']."'"

'".$_GET['id']."'"这部分为什么这么多引号?

求详细分析每对引号的作用,为什么要这么样写?

多谢大家的帮助!

$sql="select * from `news` where `id` ='".$_GET['id']."'"

最外层的双引号是说 定义了一个字符串类型的变量

里面的单引号是说 $_GET['id'] 这个值是个字符串类型,需要用引号引起来 因为外层使用双引号定义了 所以这个里面再定义字符串只能使用单引号

在后面的双引号是说 将$_GET['id'] 分割出来

$sql="select * from `news` where `id` ='".$_GET['id']."'"
$sql="select * from `news` where `id` = '$_GET['id']'";
参考技术A mysql查询时执行是select * from `news` where `id` ='一个值' ,这句话是字符串,所以整句话要加引号,数据表'news'和字段'id'不用引号也行,然后'".$_GET['id']."'"可以写成"$_GET['id']"或者"$_GET['id']",为什么可以这么写?因为在php环境下,双引号会被解析,但是单引号''就不会被解析,还有{}的作用可以跟一些写在一起的字符串分隔开.简化之后的写法是$sql="select * from news where id =$_GET['id']"; 参考技术B 其实这样写就行了

$sql = "SELECT * FROM 'news' WHERE 'id' = '$_GET['id']'";
最外面的 “” 已经解析了$_GET['id'] 不需要再用 . 连接了

插入的是一个字符类型的值 STR
而不是整形 INT

Flutter Firebase where 查询

【中文标题】Flutter Firebase where 查询【英文标题】:Flutter Firebase where query 【发布时间】:2021-06-17 23:04:33 【问题描述】:

假设我有一个包含文档 ID 的列表,例如

List documentIds = ["Tj4EB68R1CwBYKPfWzcm","fExzUQbpzjEbGyE8mKDa","yPQvLLN7hkDFCjKN6mky"];

现在我想获取与该 ID 匹配的所有文档。

我该怎么做?

【问题讨论】:

【参考方案1】:

您正在寻找whereIn 查询,如下所示:

FirebaseFirestore.instance
  .collection('yourdocuments')
  .where(FieldPath.documentId, whereIn: documentIds)
  .get()
  .then(...);

文档 ID 列表最长可达 10 个,因此如果文档 ID 超过 10 个,则需要运行多个查询并将结果合并到应用程序代码中。

另见:

querying Firestore 的 FlutterFire 文档 Query.where() 的参考文档 FieldPath.documentId 的参考文档。

【讨论】:

好的,谢谢,我也看到了,但问题是我有超过 10 个 id,你能给我举个例子,解决超过 10 个 id 的问题吗

以上是关于where `id` ='".$_GET['id']."'" 最后这句为啥这么多引号?的主要内容,如果未能解决你的问题,请参考以下文章

3.2中join怎么跟field,order,where配合使用

数据库条件判断where 里面的单双引号用法。

php sql 中WHERE 的条件:IN(3,2,5,8) 结果如何按IN中的顺序排序

php SQL 查询

thinkphp where里如何加两个判断条件求大神!

ThinkPHP中M方法生成语句where条件自动多加了Id