2016-09-22 12 views
2

以下のPHP + MySQLのprepare文を使用してデータベースから値を選択し、関数を使用して変数をステートメントに渡します。問題は、準備ステートメントで変数を使用する方法がわかりません。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(); 
    } 
} 
関連する問題