sql >> Databáze >  >> RDS >> Mysql

Parametrizované dotazy PHP/MySQL

Opravdu nerozumím, jaká je vaše otázka, ale předpokládám, že nevíte, jak přidat % ? Pokud ano, zkuste toto:

$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! :-)

Malé vysvětlení: PDO bude citovat a escapovat parametr ? vhodně. To znamená, že pokud vážete hello , CHOP nahradí ? s 'hello' (všimněte si uvozovek). Proto, abyste měli % uvnitř uvozovek je budete muset přidat k tomu, co je svázáno, v tomto případě $_GET['s'] .




  1. chyba:'Nelze se připojit k místnímu serveru MySQL přes soket '/var/run/mysqld/mysqld.sock' (2)' -- Chybí /var/run/mysqld/mysqld.sock

  2. Jak SELECT na základě hodnoty jiného SELECT

  3. PHP stránkování MySQL s náhodným řazením

  4. Jak zálohovat a obnovit databázi PostgreSQL přes DBeaver