【问题标题】:MySQL Selection problemMySQL 选择问题
【发布时间】:2011-08-24 16:52:07
【问题描述】:

我有两个关于数据库用户和广告的表 当用户访问广告页面时,我只想向他展示与他的国家相关的广告 在 ads 表中,有一个名为 contry 的字段,我在其中插入相关国家,例如 country="Country1;Coutry2;Country3;..." 并且每个用户都有一个带有他的国家名称的字段 如何从用户所在国家/地区字段中的广告表中选择广告 我猜是这样的

SELECT * FROM ads WHERE $usercoutry IN ads.country

谢谢大家,我找到了解决办法

SELECT * FROM ads WHERE coutry LIKE '%{$usercountry}%' 

该代码解决了问题:)

【问题讨论】:

  • 感谢大家,我找到了解决方案 SELECT * FROM ads WHERE coutry LIKE '%{$usercountry}%' 该代码解决了问题:)
  • 您能否通过选中答案旁边的复选框来标记正确的解决方案?

标签: mysql select


【解决方案1】:
SELECT * FROM ads WHERE country like '%$usercoutry%'

【讨论】:

    【解决方案2】:

    你可以试试:

    SELECT * FROM ads WHERE ads.country = $usercountry

    【讨论】:

      【解决方案3】:

      您是否正在尝试执行以下操作?

      SELECT * FROM ads WHERE ads.country like '%' || $usercountry || '%';
      

      注意:您应该使用参数(例如,查询中带有“?”的准备好的语句),并将连接的字符串设置为其值,以避免 SQL 注入 - 如果这是一个问题。

      【讨论】:

        【解决方案4】:

        需要用大括号括起来的变量使用LIKE:

        SELECT * FROM ads WHERE country LIKE '%{$usercountry}%';
        

        【讨论】:

          猜你喜欢
          • 2015-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-18
          • 2011-06-08
          相关资源
          最近更新 更多