[SQL Server]表附近语法不正确

我想为一系列表(例如 37 个表)执行一个相同的 sql 语句。

对于每个查询表的表对象名称,我想使用名为“$table”的 php 变量。表的对象名称在包含的 php 文件“tables.php”中提供。

变量 '$table' 由字符串 '$table' 和每个表号的数组 '$numbers' 的串联重复生成,并放入语句中。

SQL 读取生成的变量,例如'$table1'。但是我从 SQL Server 收到一个关于 FROM 子句的错误:

[SQL Server]'$table1' 附近的语法不正确。

我将变量 '$table' 放在括号和引号中,但没有帮助。

请帮忙!

//php script one, 'tables.php':

$table1 = 'myTable1';
$table2 = 'myTable2';
...
$table37 = 'myTable37';

//php script two:

include_once('tables.php');

$numbers = range(1,37);

foreach($numbers as $number) {

    $table = '$table' . $number;

    $stmt = $db_conn->prepare("SELECT * FROM $table;");
    $stmt->execute();
}

这是 Hasan 提供的解决方案。神奇的是将变量 '$table' 的 concat 放在以 $ 开头的大括号中:

include_once('tables.php'); //provides table object names for variables $table1, $table2, etc., e.g. $table1 = 'mytable1_in_database';

//first number of a closed range of variables for tables to be queried
$i = 1; 

//last number of closed range of variables for tables to be queried
$j = 37;

for($i=1; $i<=$j; $i++) {

    $table = ${'table' . $i};

    $stmt = $db_conn->prepare("SELECT * FROM $table;");
    $stmt->execute();
}
特曼·廷吉尔

您收到错误是因为您使用的是单引号且变量无法解释,您可以使用双引号或选择我下面的方法

$i = 1;
foreach($numbers as $number) {
    $table = 'myTable' . $i;
    //$table = "${'table' . $i}"; use it if you have already defined variables

    $stmt = $db_conn->prepare("SELECT * FROM $table;");
    $stmt->execute();
$i++;
if($i == 38) break;
}

由于这个问题现在被搁置,希望你不介意我在你的答案中添加一个建议,因为它渴望发表评论。

这应该能让你到达你想去的地方,我希望:)

foreach($numbers as $number) {

    $t = '$table' . $number;
    $table = $t;
    $stmt = $db_conn->prepare("SELECT * FROM $table");
    $stmt->execute();
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

')'SQL SERVER附近的语法不正确

来自分类Dev

SQL Server:“@”附近的语法不正确

来自分类Dev

'JSON'附近的语法不正确-SQL Server 2016

来自分类Dev

SQL Server''。'附近的语法不正确的异常。'?

来自分类Dev

SQL SERVER sp_executesql'''附近的语法不正确

来自分类Dev

','附近的语法不正确。SQL Server和C#

来自分类Dev

SQL Server'11'附近的语法不正确

来自分类Dev

SQL Server 08')'附近的语法不正确

来自分类Dev

SQL Server 2014的IIF``附近语法不正确''错误

来自分类Dev

SQL Server“附近的语法不正确” WHERE语句

来自分类Dev

'0'附近的语法不正确。(Microsoft SQL Server)

来自分类Dev

'/' 附近的语法不正确。在 SQL Server 2012 中

来自分类Dev

SQL Server 错误:“'xyz' 附近的语法不正确”

来自分类Dev

sql server 上“=”错误附近的语法不正确

来自分类Dev

'+'附近的语法不正确-SQL / TSQL

来自分类Dev

';'附近的语法不正确 sql

来自分类Dev

SQL:“ =”附近的语法不正确

来自分类Dev

附近的 SQL 语法不正确

来自分类Dev

SQL“','附近的语法不正确”

来自分类Dev

通过python脚本的SQL语法(“,”附近的语法不正确)

来自分类Dev

通过python脚本的SQL语法(“,”附近的语法不正确)

来自分类Dev

@para附近的语法不正确,必须声明表变量@para SQL c#

来自分类Dev

SQL Server 2012:“按顺序求和”给出错误,“ order”附近的语法不正确

来自分类Dev

'-'附近的语法不正确。(Microsoft SQL Server本机客户端10.0)

来自分类Dev

尝试插入SQL Server数据库时'PK'错误附近的语法不正确

来自分类Dev

SQL Server中关键字“ DECLARE”附近的语法不正确

来自分类Dev

SQL Server错误:“修改”附近的语法不正确。在我的查询中

来自分类Dev

SQL Server 2012:窗口上“顺序”附近的语法不正确

来自分类Dev

SQL Server 2008:关键字“ AS”附近的语法不正确

Related 相关文章

  1. 1

    ')'SQL SERVER附近的语法不正确

  2. 2

    SQL Server:“@”附近的语法不正确

  3. 3

    'JSON'附近的语法不正确-SQL Server 2016

  4. 4

    SQL Server''。'附近的语法不正确的异常。'?

  5. 5

    SQL SERVER sp_executesql'''附近的语法不正确

  6. 6

    ','附近的语法不正确。SQL Server和C#

  7. 7

    SQL Server'11'附近的语法不正确

  8. 8

    SQL Server 08')'附近的语法不正确

  9. 9

    SQL Server 2014的IIF``附近语法不正确''错误

  10. 10

    SQL Server“附近的语法不正确” WHERE语句

  11. 11

    '0'附近的语法不正确。(Microsoft SQL Server)

  12. 12

    '/' 附近的语法不正确。在 SQL Server 2012 中

  13. 13

    SQL Server 错误:“'xyz' 附近的语法不正确”

  14. 14

    sql server 上“=”错误附近的语法不正确

  15. 15

    '+'附近的语法不正确-SQL / TSQL

  16. 16

    ';'附近的语法不正确 sql

  17. 17

    SQL:“ =”附近的语法不正确

  18. 18

    附近的 SQL 语法不正确

  19. 19

    SQL“','附近的语法不正确”

  20. 20

    通过python脚本的SQL语法(“,”附近的语法不正确)

  21. 21

    通过python脚本的SQL语法(“,”附近的语法不正确)

  22. 22

    @para附近的语法不正确,必须声明表变量@para SQL c#

  23. 23

    SQL Server 2012:“按顺序求和”给出错误,“ order”附近的语法不正确

  24. 24

    '-'附近的语法不正确。(Microsoft SQL Server本机客户端10.0)

  25. 25

    尝试插入SQL Server数据库时'PK'错误附近的语法不正确

  26. 26

    SQL Server中关键字“ DECLARE”附近的语法不正确

  27. 27

    SQL Server错误:“修改”附近的语法不正确。在我的查询中

  28. 28

    SQL Server 2012:窗口上“顺序”附近的语法不正确

  29. 29

    SQL Server 2008:关键字“ AS”附近的语法不正确

热门标签

归档