加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 使用pdo在搜索变量中使用冒号(:)进行查询

发布时间:2020-12-11 23:52:52 所属栏目:MySql教程 来源:网络整理
导读:我有一个恼人的问题.我正在尝试做一些简单的事情,比如从db获取一个单元格值. 这是你可以用db做的最基本的事情给我一个值,其中有一个具有此值的单元格. 问题是搜索查询包含冒号(:). 我在一个准备好的语句的类中使用pdo函数,但没有运气. 我已经尝试了一切,甚至

我有一个恼人的问题.我正在尝试做一些简单的事情,比如从db获取一个单元格值.
这是你可以用db做的最基本的事情…给我一个值,其中有一个具有此值的单元格….

问题是搜索查询包含冒号(:).
我在一个准备好的语句的类中使用pdo函数,但没有运气.
我已经尝试了一切,甚至将查询分开,因此它不会包含冒号,但仍然没有运气.我试图恢复到mysqli但仍然是相同的结果……

数据表包含title – >等值. Morlanda C:2和sourceID – > S11.
顺便说一句,如果我尝试在phpmyadmin中搜索一个标题,当我寻找Morlanda C:2时,我会得到我想要的东西.

但是当我调用我的函数时,这个:

$sourceID = $sources->sourceAvalibe('Morlanda C:2');

我正在访问我的功能:

public function sourceAvalibe($sourceTitle){
    try {
        $sql = "SELECT sourceID FROM sources WHERE title=:sourceTitle";
        $core = Core::getInstance();
        $stmt = $core->dbh->prepare($sql);
        $stmt->bindParam(':sourceTitle',$sourceTitle,PDO::PARAM_STR,32);
        $stmt->execute();
        $row = $stmt->fetch(PDO::FETCH_ASSOC);
        return $row;    
}

那么结果将是空的..

但如果我这样调用函数:

 $sourceID = $sources->sourceAvalibe('1910 Massachusetts Census');

结果将返回我正在寻找的东西.

如果查询包含冒号(:),则结果将为空,但如果包含没有冒号(:)的内容,则返回正确的sourceID.

我试图以不同的方式逃脱结肠,但它也不会找到结果.

我去香蕉之前能帮帮我吗???

更新1

你好

谢谢你的回答.我正在搜索的数据与数据库中的数据完全相同,使用复制/粘贴.我找了邪恶的白色空间,但没有找到额外的东西.
我现在改为使用bindValue.

关于禁用模拟准备语句的评论我的答案是..阙?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读