如何为PDO语句使用已定义的表名?

时间:2015-10-31 10:24:02

标签: php

我在我的一个配置文件中有所有表定义,例如

define('tbl_admin', 'site_admin');

我正在使用PDO语句从表中获取一些值,但我无法调出“site_admin”#39;表

我的代码如下:

      $db=new database();
      $pdo_db_connx=$db->PDO_database();          
      $smt=$pdo_db_connx->prepare("select id from tbl_admin where  admin=:username");
      $smt->bindParam(":username",$username);

有什么建议吗?

2 个答案:

答案 0 :(得分:-1)

当你这样做时:

$smt=$pdo_db_connx->prepare("select id from tbl_admin where  admin=:username");

tbl_admin被视为表名tbl_admin,而不是常量。

最简单的方法是使用常量连接查询部分:

$smt=$pdo_db_connx->prepare("select id from " . tbl_admin . " where  admin=:username");

在这里,tbl_admin将被视为常量,并且将使用它的值。

答案 1 :(得分:-1)

我意识到这个定义对这个问题不起作用。另一种方法是将表名分配给变量,例如:

$tbl_admin="site_admin";

,查询将是:

$smt=$pdo_db_connx->prepare("select id from $tbl_admin where  admin=:username");

这很有效。