【问题标题】:mysql select query doesn't work when trying to select a single rowmysql 选择查询在尝试选择单行时不起作用
【发布时间】:2012-03-16 04:02:33
【问题描述】:

我正在尝试创建一个 php 脚本,该脚本使用 WHERE 子句从我的表中选择一行。问题是 mysql 查询不返回任何行。我知道变量是正确的(它的用户已提交)。

$title = mysql_real_escape_string($_REQUEST["title"]);
$query = mysql_query("SELECT * FROM links WHERE title ='$title'", $con) 
or die ("Error: " . mysql_error());

我正在寻找任何可以解决我的问题的想法。我知道 mysql 工作正常,因为其他查询执行得很好。标题变量是正确的;它是从另一个页面上的 mysql 传递的。

ps - 我之前发布了一个类似的问题,但措辞不佳,得到的结果没有解决问题

【问题讨论】:

  • 如果删除链接标识符(mysql_query 上的 $con),它会起作用吗?
  • 您是否尝试过从 mysql 中运行查询以查看它是否返回结果?您收到错误还是只是返回 0 行?您所显示的内容看起来是正确的,所以看起来这可能是 $title 实际存在的问题。
  • 请检查 $title 值
  • echo 你的查询然后复制粘贴到 mysql 控制台,然后你就可以知道错误了
  • 查询的结果是“MySQL 返回了一个空的结果集(即零行)。(查询耗时 0.0007 秒)”所以它工作时没有错误但没有返回任何结果。 title 变量与数据库中的变量完全相同。

标签: php mysql row


【解决方案1】:

试试这个:

 $query = mysql_query("SELECT * FROM links WHERE title ='$title' limit 1") 
or die ("Error: " . mysql_error());

【讨论】:

    【解决方案2】:

    抱歉,我是新来的,找不到评论原始问题的按钮。

    但您提到请求是用户提交的。他们是在键入它还是从选择框或单选按钮中进行选择?我问是因为所请求的标题甚至存在于数据库中吗?

    无论如何,如果您使用以下内容,您的结果是什么?:

    $query = mysql_query("SELECT * FROM links WHERE title LIKE '%".$title."%'")
    or die ("Error: " . mysql_error());
    

    如果没有,那么数据库中肯定没有匹配项。

    【讨论】:

      【解决方案3】:

      试试这个查询

      mysql_query("SELECT * FROM links WHERE title like '$title%'", $con) 
      

      【讨论】:

        【解决方案4】:

        试试这个查询:

        $query = mysql_query("SELECT * FROM links WHERE title LIKE '%{$title}%'");
        

        或者这可能是为了检查格式:

        $sql = sprintf("SELECT * FROM links WHERE title LIKE '%%%s%%'", $title);
        $query = mysql_query($sql);
        

        【讨论】:

          【解决方案5】:

          在我的例子中,变量名前后都有空格,就像这样

          $query = "select * from user where user_name = ' $user_name ' ";
          

          这会导致将userName 与数据库中不存在的[empty_space userName empty_space ] 进行比较。

          你的查询应该是这样的

          $query = "select * from user where user_name = '$user_name' ";
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-03-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-07
            相关资源
            最近更新 更多