Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wygląda na to, że metoda zapytania PDO z bindValue() nie działa

Twój kod:

$ruleValue = "value1";
$input = "value2";
$inputValue = "value3";

$this->_db->query('SELECT * FROM ? WHERE ? = ?', array($ruleValue, $input, $inputValue)

4 linie
niepewne
zapisuje stan -> OGROMNA pułapka, którą sam sobie wykopałeś
nigdy nie działa

zwykły PDO

$stmt = $this->db->prepare('SELECT * FROM value1 WHERE value2 = ?')
$stmt->execute([$value3]);
$results = $stmt->fetchAll();

3 linie
bezpieczne
prace bezstanowe

Wniosek:POBIERZ tę złośliwą funkcję i użyj surowego PDO




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porządkowanie wyniku MySQL ustawionego przez wartość MAX() innej tabeli

  2. filtrowanie wyników według dwóch wybranych opcji

  3. PDOException „nie można znaleźć sterownika” w php

  4. MySQL ustawia bieżącą datę w polu DATETIME podczas wstawiania

  5. Jak zmienić wszystkie tabele w mojej bazie danych, aby używały AUTO_INCREMENT=1?