为什么列名不能被bindParam / bindValue / execute绑定?

时间:2015-08-16 18:30:00

标签: php pdo

为什么我使用此代码获得结果

1.3.0

但不是这段代码?

$stmt = $users_db->prepare('SELECT * FROM users WHERE user_name = :value');
$stmt->execute([':value' => 'someUser']);
$res = $stmt->fetch();

我知道我可以通过使用例如$stmt = $users_db->prepare('SELECT * FROM users WHERE :field = :value'); $stmt->execute([':field' => 'user_name', ':value' => 'someUser']); $res = $stmt->fetch(); ,但我想知道无法做到这一点的原因。 (我需要这个的原因是因为我正在检查数据库中是否已存在用户名或电子邮件,因此需要变量列名称。)

0 个答案:

没有答案