当前位置: 首页 > 面试题库 >

PDO报价方式

伯茂才
2023-03-14
问题内容

您在何时何地在PDO中使用quote方法?考虑到以下事实,我问这个问题:在PDO中,所有引用都是由PDO对象完成的,因此,不应对用户输入进行转义/引用等操作。这让人想知道为什么担心如果不使用quote方法反正在准备好的陈述中?


问题答案:

虽然这可能不是唯一的用例,但它是我唯一需要的quote用例。您只能使用传递值PDO_Stmt::execute,例如,该查询将不起作用:

SELECT * FROM tbl WHERE :field = :value

quote 进入以便您可以执行以下操作:

// Example: filter by a specific column
$columns = array("name", "location");
$column = isset($columns[$_GET["col"]]) ? $columns[$_GET["col"]] : $defaultCol;

$stmt = $pdo->prepare("SELECT * FROM tbl WHERE " . $pdo->quote($column) . " = :value");
$stmt->execute(array(":value" => $value));

$stmt = $pdo->prepare("SELECT * FROM tbl ORDER BY " . $pdo->quote($column) . " ASC");

并且仍然希望$column在查询中安全地对其进行过滤。



 类似资料:
  • 问题内容: 根据PHP文档,PDO :: prepare()在所有参数中都加上引号,这样您就不必担心这样做了: “准备语句的参数不需要加引号;驱动程序会自动处理。如果应用程序专门使用准备语句,开发人员可以确保不会发生SQL注入(但是,如果查询的其他部分正在使用未转义的输入构建,仍然可以进行SQL注入)。” 对我来说,这个问题是我构建查询和数据库结构的方式。通常,不需要对SQL语句的FROM部分进行

  • 本文向大家介绍Markdown 报价单,包括了Markdown 报价单的使用技巧和注意事项,需要的朋友参考一下 示例 通过添加>一行,您可以创建带引号的文本! 我是个报价!

  • 由于报价是在PDF格式-我不认为锚标签可能是一个解决方案。 有什么想法吗?

  • 问题内容: 哪些正则表达式可以在Python源代码中找到三引号注释(可能是多行)? 问题答案: Python不是常规语言,因此无法使用正则表达式可靠地进行解析。 如果您想要合适的Python解析器,请查看ast模块。您可能正在寻找。

  • 问题内容: 我正在通过使用swift创建的API进行URL调用,如下所示: 我在我调用此API时使用SwiftyJSON库填充表。但是,我的API始终为空。Alomofire调用没有问题,因为我可以成功检索值。我的问题是我应该如何将其转移到表视图控制器? 问题答案: 正如mattt指出的那样,Alamofire通过“完成处理程序”模式异步返回数据,因此您必须执行相同的操作。您不能只是立即获取值,而

  • 本文向大家介绍php使用pdo连接报错Connection failed SQLSTATE的解决方法,包括了php使用pdo连接报错Connection failed SQLSTATE的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or