Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cơ sở dữ liệu tìm kiếm PDO sử dụng LIKE

Xóa dấu ngoặc kép khỏi trình giữ chỗ và thêm dấu hai chấm trước tham chiếu liên kết của bạn:

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

Đây là ví dụ văn bản của tôi:

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>";
}
";}

Đầu ra

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. MySql sử dụng cú pháp đúng cho mệnh đề over

  2. Tham số '@myLeft' phải được xác định

  3. nhiều chức năng là một chức năng lớn trong PHP?

  4. mysql TẢI THÔNG TIN DỮ LIỆU với khóa chính tự động tăng

  5. Các hàm Ngày và Giờ trong MySQL không tồn tại