是否可以计算PDO准备语句中的参数数量?

vcanals

我必须使用循环来处理一些查询,并且所有查询都是相同的,除了一个不使用参数的查询,其他查询则使用:

$queries = array(
  'query1' = "SELECT * FROM table_1 WHERE id=:id",
  'query2' = "SELECT * FROM table_2 WHERE id=:id",
  'query3' = "SELECT * FROM table_3"
);

$params = array(':id',1);

foreach($queries as $q) {
  $st = $pdo->prepare($q);
  if($st->execute($params)) {
    // do stuff with results
  } else {
    echo json_encode($st->errorInfo());
  }
}

这里的问题是$ st-> execute($ params)在没有定义参数的查询上将不起作用,这就是为什么我想知道是否有可能在发送查询之前对其进行分析。

这是伪代码,只要有一个参数(:id)或没有参数,它就不管查询结构而工作。

更新,已解决:

我如何应用@ Jonast92提供的解决方案:

foreach($queries as $q) {
  $st = $pdo->prepare($q);
  if($st->execute(substr_count($q,":") > 0 ? $params : null)) {
    // do stuff with results
  } else {
    echo json_encode($st->errorInfo());
  }
}
乔纳斯92

您可以使用substr_count计数出现的次数:,指示要在准备好的语句上执行的参数的数量。

$itemInArray = "SELECT * FROM table_1 WHERE id=:id";
$count = substr_count($itemInArray, ':'); // 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以计算PDO准备语句中的参数数量?

来自分类Dev

变量数量与准备好的语句中的参数数量不匹配

来自分类Dev

变量数量与准备好的语句中的参数数量不匹配

来自分类Dev

mysqli_stmt :: bind_param():变量数量与准备好的语句中的参数数量不匹配

来自分类Dev

“在准备好的语句中未提供参数数据”

来自分类Dev

计算PDO准备好的语句中的行数

来自分类Dev

SQL 中 case 语句中的参数数量无效

来自分类Dev

预准备语句中的参数是否包含连字符(-)?

来自分类Dev

MySQL-变量数与准备好的语句中的参数数不匹配

来自分类Dev

出现以下错误:变量数与准备好的语句中的参数数不匹配

来自分类Dev

Python MySQL错误1210:执行准备好的语句的参数数量不正确

来自分类Dev

SELECT PDO准备语句中的SELECT

来自分类Dev

MySql 准备语句 - 是否可以参数化列名或函数名?

来自分类Dev

mysqli_stmt :: bind_param():变量数与准备好的语句中的参数数不匹配

来自分类Dev

mysqli_stmt::bind_param():变量数与第 64 行准备语句中的参数数不匹配

来自分类Dev

PHP PDO准备语句参数导致错误

来自分类Dev

如何计算LSTM网络的参数数量?

来自分类Dev

PowerShell-如何计算参数数量

来自分类Dev

从准备好的语句中获取文本(PHP,PDO)

来自分类Dev

在PDO准备好的语句中验证password_hash()

来自分类Dev

如何避免PDO准备语句中的转义字符“ \”?

来自分类Dev

准备语句,SQLSTATE [HY093]:无效参数数

来自分类Dev

call_user_func_array()-警告:mysqli_stmt :: bind_param():变量数与准备好的语句中的参数数不匹配

来自分类Dev

检查PHP准备语句中是否为空

来自分类Dev

检查PHP准备语句中是否为空

来自分类Dev

PDO准备语句功能

来自分类Dev

PDO准备语句功能

来自分类Dev

PDO 准备语句绑定

来自分类Dev

在MATLAB中具有可变参数数量的SQLite语句

Related 相关文章

  1. 1

    是否可以计算PDO准备语句中的参数数量?

  2. 2

    变量数量与准备好的语句中的参数数量不匹配

  3. 3

    变量数量与准备好的语句中的参数数量不匹配

  4. 4

    mysqli_stmt :: bind_param():变量数量与准备好的语句中的参数数量不匹配

  5. 5

    “在准备好的语句中未提供参数数据”

  6. 6

    计算PDO准备好的语句中的行数

  7. 7

    SQL 中 case 语句中的参数数量无效

  8. 8

    预准备语句中的参数是否包含连字符(-)?

  9. 9

    MySQL-变量数与准备好的语句中的参数数不匹配

  10. 10

    出现以下错误:变量数与准备好的语句中的参数数不匹配

  11. 11

    Python MySQL错误1210:执行准备好的语句的参数数量不正确

  12. 12

    SELECT PDO准备语句中的SELECT

  13. 13

    MySql 准备语句 - 是否可以参数化列名或函数名?

  14. 14

    mysqli_stmt :: bind_param():变量数与准备好的语句中的参数数不匹配

  15. 15

    mysqli_stmt::bind_param():变量数与第 64 行准备语句中的参数数不匹配

  16. 16

    PHP PDO准备语句参数导致错误

  17. 17

    如何计算LSTM网络的参数数量?

  18. 18

    PowerShell-如何计算参数数量

  19. 19

    从准备好的语句中获取文本(PHP,PDO)

  20. 20

    在PDO准备好的语句中验证password_hash()

  21. 21

    如何避免PDO准备语句中的转义字符“ \”?

  22. 22

    准备语句,SQLSTATE [HY093]:无效参数数

  23. 23

    call_user_func_array()-警告:mysqli_stmt :: bind_param():变量数与准备好的语句中的参数数不匹配

  24. 24

    检查PHP准备语句中是否为空

  25. 25

    检查PHP准备语句中是否为空

  26. 26

    PDO准备语句功能

  27. 27

    PDO准备语句功能

  28. 28

    PDO 准备语句绑定

  29. 29

    在MATLAB中具有可变参数数量的SQLite语句

热门标签

归档