繁体   English   中英

无法通过查询MySQL数据库获得结果

[英]Unable to get result from querying a MySQL database

我正在使用MySQL中的数据库进行工作,其中有一个表,称为ABC。

我想查询数据库中给定的搜索关键字,并在表中显示输出。 当我使用以下代码查询时,它工作正常:(玩过的游戏1是列名)

if($_POST['searchby'] == "Games Type"){
          $query_Recordset1 = "SELECT * FROM users_entity WHERE `Games Played 1' LIKE '%".$searchword."%'";

但是,当我尝试检查关键字是否出现在游戏已玩1或游戏已玩2的两列中时,它不起作用。 我正在使用以下代码。

if($_POST['searchby'] == "Games Type"){
          $query_Recordset1 = "SELECT * FROM elgg_users_entity WHERE `Games Played 1` OR `Games Played 2` LIKE '%".$searchword."%'";

谁能建议我做错了什么? 另外,当我使用上面的代码运行网页时,它发出警告,因为“ MySQL服务器已消失”

if($_POST['searchby'] == "Games Type"){
          $query_Recordset1 = "SELECT * FROM elgg_users_entity WHERE `Games Played 1` LIKE '%".$searchword."%' OR `Games Played 2` LIKE '%".$searchword."%'";

您的查询应如下所示:

$query_Recordset1 = "SELECT * FROM elgg_users_entity WHERE `Games Played 1` LIKE '%".$searchword."%' OR `Games Played 2` LIKE '%".$searchword."%'";

失误

  1. 错误的WHERE条件。

所以最终的代码是

if($_POST['searchby'] == "Games Type"){
      $query_Recordset1 = "
      SELECT * 
      FROM elgg_users_entity 
      WHERE table_coumn1 
        LIKE '%$searchword%'  
      OR table_coumn2 
        LIKE '%$searchword%' ";

供你参考

不要在表列名称之间使用空格( Games Played 1 )。 _分隔的单词添加它。 (Games_Played_1)。

因此,将所有小写字母作为最佳做法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM