Mysqli准备了带变量的语句列

时间:2017-01-11 18:26:19

标签: php mysqli

Hellooverflow用户,

我有一个关于Mysqli Prepared Statements的问题,我尝试了一些东西,但没有用。我的代码必须使用自定义变量作为列更新查询。

我在下面提供了我的代码, 我希望你们中的某些人可以帮我解决我的问题!

$username = 'MyUsername'; 
$rank = 'Administrator';
$server = 'Node5';

$stmt = $connection->prepare("UPDATE staff_members SET ?=? WHERE Username=? LIMIT 1");
$stmt->bind_param("sss", $server, $rank, $username);
$stmt->execute();

亲切的问候, Rabascm

1 个答案:

答案 0 :(得分:2)

在准备好的陈述中,这是不可能的。 如果你想这样做,那么你必须首先用'服务器'声明一个变量字符串。然后将刚创建的变量放在准备好的语句中。

所以它看起来像这样:

$sqlString = "UPDATE staff_members SET $server=? WHERE Username=?";
$stmt = $connection->prepare($sqlString);
$stmt->bind_param("ss", $rank, $username);
$stmt->execute();

我希望我解释得足够多,我希望这对你来说很清楚?