关于PDO和准备好的陈述的一些问题

Vin*_*nny 2 php pdo prepared-statement

我开始在我的应用程序中使用PDO和准备语句,但我对那里的专业人员有一些问题.希望你能帮我!:)

  1. 我应该何时使用准备好的陈述?我整个申请中的每个查询?
  2. 我可以在INSERT中使用预准备语句吗?
  3. 我可以在INSERT中使用带有变量列的预处理语句吗?
  4. 准备好的语句多快(使用SELECT或INSERT时)
  5. 我可以在UPDATE中使用预准备语句吗?
  6. 除了速度提升和安全性之外,我为什么要使用它们?

mar*_*rio 7

我应该何时使用准备好的陈述?我整个申请中的每个查询?

是.到处使用它们.几乎没有边缘情况,您仍然需要连接SQL和值转义.绑定参数不能取代动态SQL构造.

我可以在INSERT中使用预准备语句吗?

是. INSERT INTO tbl (x,y,z) VALUES (?,?,?)

我可以在INSERT中使用带有变量列的预处理语句吗?

是.但是列名不能绑定参数.构造动态INSERT语句需要过滤器和/或转义函数.

准备好的语句多快(使用SELECT或INSERT时)

没有一般的答案.

如果循环数据数组并重复使用预准备语句进行插入,则会出现速度增加.普通查询:取决于.测试自己.

我可以在UPDATE中使用预准备语句吗?

是. UPDATE tbl SET x = ? AND y = ? WHERE z = ?

除了速度提升和安全性之外,我为什么要使用它们?

使SQL查询更具可读性.