【问题标题】:PDO query bindValue and % returns nothingPDO 查询 bindValue 和 % 不返回任何内容
【发布时间】:2014-12-07 03:26:55
【问题描述】:

我不明白为什么我的查询没有返回结果

<?php
    include "connection.php";

    $stmt = $db->prepare('SELECT * FROM my_tb WHERE column1 = :par1 ');
    $stmt->bindValue(':par1', '%'.$_POST['submit1'].'%');
    $stmt->execute();

    while($row = $stmt->fetch())
        {
            print_r($row[0]); 
            print_r($row[1]);
            print_r($row[2]);
        };  
?>

当我将 '%'.$_POST['submit1'].'%' 更改为 $_POST['submit1'] 时,它工作正常。 我正在寻找一个子字符串

【问题讨论】:

  • 在尝试通过您的应用程序获取结果之前,您应该直接在控制台中尝试您的查询,或者使用任何您用来执行查询的方式。

标签: php mysql pdo substring


【解决方案1】:

如果您想要通配符匹配,您正在寻找 LIKE 查询,而不是 = 比较。

SELECT * FROM my_tb WHERE column1 LIKE :par1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-12
    • 2013-12-24
    • 2013-12-29
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多