【发布时间】:2013-02-17 17:37:08
【问题描述】:
当我在没有“准备”和“执行”的情况下获取数据时,代码工作正常。示例:
$this->db->query("select {$val} from {$table_name} where username={$username}")->fetch();
但是这段代码总是返回False:
$this->db->prepare("select :val from :table_name where username = :username")
->execute(array(':username'=>$username,':val'=>$val,':table_name'=>$this->table_name));
求助!:(
感谢您的回答。现在我的代码在这里:
$q=$this->db->prepare("select pass from nm_users where username = :username");
return $q->execute(array('username'=>$username));
返回值为True,但我无法从数据库中获取数据。
【问题讨论】:
-
很遗憾,您不能使用动态表名。也感兴趣:How to squeeze error message out of PDO?
-
如果我在没有动态表名的情况下使用这个查询,它会返回 True。但我无法从 ->fetch()(non-object) 获取数据
-
为什么需要动态表名?为什么不能只输入
users? -
因为表有前缀,但是我已经尝试使用静态表名了。