gpt4 book ai didi

php - PDO #1054 'where 子句中的未知列 'n'

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:45 25 4
gpt4 key购买 nike

我有一个类,它有一个函数,可以从数据库中提取任何数据,无论标识列是什么,基本上看起来像这样

    use Database\DB;

class General extends DB
{
private $fooBar;

public function getData($column, $table, $value) {
$column = (array) $column;
$column = implode(', ', $column);
$test = $this->query("SELECT `$column` FROM `$table` WHERE $column[0] = :value", array("value" => $value));
}

}

并执行如下:

return $this->general->getData(['name'], 'people', 'John Anderson');

但是,我收到一个错误,它告诉我有一个不存在的列输入,其值为“n”(这恰好是列名的第一个字符,无论列名的值是什么)

完全错误;

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'n' in 'where clause'' in a\long\path\DB.class.php on line 50

PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'n' in 'where clause' in a\long\path\DB.class.php on line 50

提前致谢,乔迪

最佳答案

摆脱线

$column = implode(', ', $column);

它用一个字符串替换数组,该字符串包含以逗号分隔的所有列名。那么$column[0]将是第一个列名的第一个字符,而不是第一个列名。

关于php - PDO #1054 'where 子句中的未知列 'n',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32150762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com