doufangzhang4454 2016-10-04 09:00
浏览 113
已采纳

MySQL SELECT * FROM表WHERE名称LIKE(?)OR owner LIKE(?); [重复]

This question already has an answer here:

As you can see in the title, I have a table that I want to take use of in a website I have.

This is how the MySQL statement looks like now: SELECT * FROM bth_nav WHERE name LIKE (?) OR owner LIKE (?);

On my website I want to either search for name or owner. Right now I can only search for name but not owner. This is why I'm asking for help, I've tried to rewrite the statement but however I do it i can only search for one of them.

Thanks in advance.

</div>
  • 写回答

1条回答 默认 最新

  • douweicheng5532 2016-10-04 09:07
    关注

    The answer will be a little more complicated then you would expect.

    I see question marks in your query, this way I can assume you're using prepared statements (which is good!).
    Your old statement was using 1 value (for the name), and now you want to use 2.

    You have some options for this to work.

    The easiest one would be that you bind the value twice, but that's not the nicest way.

    A better way would be to name your parameters, like this:

    SELECT * FROM bth_nav WHERE name LIKE (:nameOwner) OR owner LIKE (:nameOwner);
    

    Hence that I use the same name for both parameters here. Now you can bind the value to the named parameter with bindValue, and you need do this only once.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器