2016-09-22 1 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(); 
    } 

Я думаю, что вы сделали ошибку в добавление переменной PHP в string.Please попробовать это.

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(); 
    } 
}