MySQL准备语句使用变量
问题描述:
我正在使用下面的PHP + MySQL准备语句从数据库中选择值,使用函数将该变量传递到语句中,但是我无法得到我想要的结果。问题是我不知道如何在准备语句中使用该变量。MySQL准备语句使用变量
问题: 你可以看看我使用的语法是正确的吗?
public function getToken($committeeValue){
$stmt = $this->conn->prepare("SELECT u.token FROM users u INNER JOIN committee c ON u.email = c.email WHERE c.'$committeeValue' = 1");
$stmt->execute();
}
答
Please try the below one.
public function getToken($committeeValue){
$stmt = $this->conn->prepare("SELECT u.token FROM users u INNER JOIN committee c ON u.email = c.email WHERE c.".$committeeValue." = 1");
$stmt->execute();
}
我认为你犯了一个错误,以追加string.Please内的PHP变量尝试。
答
你犯了连接字符串在PHP中的错误。
那么请尝试下面这个:
public function getToken($committeeValue){
$committeeValue = trim($committeeValue);
if(!empty($committeeValue)){
$query = "SELECT u.token FROM users u INNER JOIN committee c ON u.email = c.email WHERE c.".$committeeValue." = 1";
$stmt = $this->conn->prepare($query);
$stmt->execute();
}
}