php - pdo 使用 mysql 不显示任何内容

标签 php mysql pdo

我这里有一些代码 我不知道为什么它不显示任何内容

function konek() {
    return new PDO('mysql:host=localhost;dbname=payroll;port=3306', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}

$pdo = konek();
$keyword = $_POST['keyword'];
$sql = "SELECT * FROM karyawan WHERE noreg LIKE '%:keyword%' OR nama LIKE '%:keyword%' ORDER BY noreg ASC LIMIT 0, 10";
$query = $pdo->prepare($sql);
$query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$query->execute();
$daftar = $query->fetchAll();
foreach ($daftar as $kar) {

    echo '<li>'.$kar['noreg'].'||'.$kar['nama'].'</li>';
}
?>

我的代码有问题吗?

最佳答案

尝试更改使用准备好的语句的方式,以在 bindParam 方法中包含 %%,而不是查询:

$sql = "SELECT * FROM karyawan WHERE noreg LIKE :keyword OR nama LIKE :keyword ORDER BY noreg ASC LIMIT 0, 10";

然后

$query->bindParam(':keyword', '%'.$keyword.'%', PDO::PARAM_STR);

关于php - pdo 使用 mysql 不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34737577/

相关文章:

mysql - 优化和加速 MySQL 查询选择

php - native 准备语句 : are they so limited?

javascript - 在线用javascript解析json数据

php - 尝试创建数组条件

php - 如何为此 DIV 进行 jQuery 选择

mysql - 如何查询包含双管道字符串的 MySQL 字段?

php - 使用 laravel 连接多个表

php - 如何在 Laravel 中使用 Angular

php - WHERE 子句的动态 PDO 参数绑定(bind)问题

php - sql更新不执行