Php 如何为PDO语句使用已定义的表名?
我的一个配置文件中有所有的表定义,例如Php 如何为PDO语句使用已定义的表名?,php,Php,我的一个配置文件中有所有的表定义,例如 define('tbl_admin', 'site_admin'); 我使用PDO语句从表中获取一些值,但无法调用“site_admin”表 我的代码如下: $db=new database(); $pdo_db_connx=$db->PDO_database(); $smt=$pdo_db_connx->prepare("select id from tbl_admin where
define('tbl_admin', 'site_admin');
我使用PDO语句从表中获取一些值,但无法调用“site_admin”表
我的代码如下:
$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);
有什么建议吗?当您这样做时:
$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
将被视为常量,并使用其值。我意识到该定义不适用于此问题。另一种方法是将表名分配给变量,例如:
$tbl_admin="site_admin";
查询将是:
$smt=$pdo_db_connx->prepare("select id from $tbl_admin where admin=:username");
这是可行的。插入变量,或将常量连接到查询中。PDO本身不使用PHP常量转换文本。您可以使用
“select id from”。tbl_管理员。“其中admin=:username”
或sprintf(“从%s中选择id,其中admin=:username”,待定)这是我在发帖之前的第一次尝试。奇怪的是,它没有起作用。无论如何,谢谢你。