Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Basis data pencarian PDO menggunakan LIKE

Hapus tanda kutip dari placeholder dan tambahkan titik dua sebelum referensi ikatan Anda:

$query = $connDB->prepare('SELECT * FROM topic WHERE topic_name LIKE :keywords');
$query->bindValue(':keywords', '%' . $searchQ . '%');

Ini contoh teks saya:

SQL

CREATE TABLE IF NOT EXISTS `items` (
  `id` mediumint(9) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


INSERT INTO `items` (`id`, `name`) VALUES
(1, 'apple'),
(2, 'orange'),
(3, 'grape'),
(4, 'carrot'),
(5, 'brick');

PHP

$keyword='ap';
$sql="SELECT * FROM `items` WHERE `name` LIKE :keyword;";
$q=$dbh->prepare($sql);
$q->bindValue(':keyword','%'.$keyword.'%');
$q->execute();
while ($r=$q->fetch(PDO::FETCH_ASSOC)) {
    echo"<pre>".print_r($r,true)."</pre>";
}
";}

Keluaran

Array
(
    [id] => 1
    [name] => apple
)
Array
(
    [id] => 3
    [name] => grape
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbandingan MySQL dan LIKE dengan %

  2. Prosedur tersimpan MYSQL untuk variabel pembaruan adalah 0

  3. MySQL:Pilih Entri Acak, tetapi Bobot Menuju Entri Tertentu

  4. Pagination untuk menunjukkan nilai maksimal dan membatasi sisanya

  5. Contoh CURRENT_TIMESTAMP – MySQL