【问题标题】:variable Postgres变量 Postgres
【发布时间】:2021-07-05 02:55:24
【问题描述】:

我有一个小问题... 我有这个错误: “SQLSTATE[42601]: 语法错误: 7 ERREUR: erreur de syntaxe sur ou près de « 'aliases' »↵LINE 1: SELECT * FROM 'aliases'↵ ...”

但我真的不明白为什么^^' 这是我的代码:

function getAllByTable($nomTable){

    $bdd2 = DB::connection('kal');
    $sql = "SELECT * FROM $nomTable";

    return $bdd2 -> select($sql);
}

我尝试将“$nomTable”放入 From 但它不起作用...名称别名也正确...

感谢您的帮助^^

【问题讨论】:

  • 提示:常规语法是$x->y(),没有空格。
  • 向我们展示最终的$sql 字符串。
  • 谢谢 ^^ 但还是不行...
  • 返回响应()->json(getAllByTable(aliases));我尝试在别名周围加上引号但不起作用:“''”
  • 您在哪里以及如何创建 $nomTable ?该变量包含错误的数据,最终出现在您的 SQL 中。

标签: php sql postgresql


【解决方案1】:

表名周围有单引号。 '别名'

【讨论】:

  • 它不应该在那里吗?我没有添加任何报价^^'
  • 好像php加了单引号。您应该尝试这样做$sql = "SELECT * FROM ".$nomTable; 或 $nomTable 包含带有单引号的“别名”
  • 还是不行....我不明白为什么TT
  • 调试器中$sql的值是多少?
【解决方案2】:

问题不在SQL,而是在PHP,所以应该可以解决:

$sql = "SELECT * FROM ".$nomTable." ";

$sql = "SELECT * FROM '".$nomTable."' ";

【讨论】:

  • 奇怪的是它也不起作用......我对他们两个都有这个错误:“使用未定义的常量别名 - 假定为'别名'(这将在 PHP 的未来版本中引发错误)"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 2021-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多