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

Sparametryzowane zapytania PHP/MySQL

Naprawdę nie rozumiem, jakie jest twoje pytanie, ale domyślam się, że nie wiesz, jak dodać % ? Jeśli tak, spróbuj tego:

$stmt = $db->prepare("SELECT * FROM table_1 WHERE name LIKE ? ORDER BY bid DESC");
$stmt->bindValue(1, "%{$_GET['s']}%", PDO::PARAM_STR);
$stmnt->execute();
// fetch and win! :-)

Małe wyjaśnienie: PDO zacytuje i wyjdzie z parametru ? odpowiednio. Oznacza to, że jeśli wiążesz hello , PDO zastąpi ? z 'hello' (zwróć uwagę na cytaty). Dlatego, aby mieć % wewnątrz cudzysłowów, będziesz musiał dodać je do tego, co jest powiązane, w tym przypadku $_GET['s'] .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekazać tabelę jako parametr do MySqlCommand?

  2. Kolejność operacji MySQL?

  3. Jakie są różnice między utf8_general_ci a utf8_unicode_ci?

  4. MySQL Nieprawidłowa wartość daty i godziny:'0000-00-00 00:00:00'

  5. jak radzić sobie z akcentami i dziwnymi znakami w bazie danych?