2016-09-22 113 views
2

我正在使用下面的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(); 
} 

回答

2
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变量尝试。

1

你犯了连接字符串在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(); 
    } 
}