dtufl26404 2014-06-30 06:35
浏览 24
已采纳

Mysql / PHP PDO语句失败,带有通配符

$pdo = $db_con->prepare("SELECT COUNT(*) FROM table WHERE Age=:Age AND ClientID=:ClientID AND LastName=:LastName"); 
$pdo->bindValue(':Age', $_SESSION['Age']);
$pdo->bindValue(':ClientID', $ID);
$pdo->bindValue(':LastName', $Last_Name."%");
$pdo->execute();

Adding the wildcard after $Last_Name is causing the statement to produce no results.

If the value for $Last_Name is Smith that produces a results but only if the wildcard is not there. I have tried the wildcards on both sides and the same thing happens.

No errors are generated.

  • 写回答

2条回答 默认 最新

  • dongzhi9574 2014-06-30 06:37
    关注

    That's because you're not using a LIKE comparison. Wildcards only apply when using LIKE. Since you're doing an equality test (=), you're literally requiring that a % be present in the matched data.

    Try

    SELECT .... AND LastName LIKE :LastName
    

    instead.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部