是否可以使用PDO查询并将表分配为变量?
例如:
$db = new PDO($this->driver . ":server={$this->host};Database={$this->database_name};", $this->username, $this->password);
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$db->setAttribute( PDO::SQLSRV_ATTR_QUERY_TIMEOUT, 200 );
$query = 'SELECT top 10 * FROM ' . $this->table . ' ' . $query;
$stmt = $db->prepare($query);
$stmt->execute();
return $stmt->fetchAll();
我需要能够将表名作为参数传递。我尝试了很多事情,但似乎没有任何效果。我也尝试过sqlsrv_query
我正在使用lumen作为框架。不知道是否有什么我可以用来做的。
答案 0 :(得分:0)
您的问题是您的查询语句。您已将$ query添加到$ query的末尾。
尝试:
$query = 'SELECT top 10 * FROM ' . $this->table;
第二个音符。仅当您信任$this->table
的内容时,这样做非常重要。表示它不是用户生成的。 PDO不允许使用参数化的表名。
答案 1 :(得分:0)
您可以尝试以下方法:(检查 use strict;
use warnings;
use Cwd qw( abs_path );
use File::Basename qw( dirname );
use lib dirname(abs_path($0));
use Sample;
print Sample->test_function();
进行更改)
$stmt