PHP查询不返回任何结果

时间:2012-04-30 22:29:33

标签: php mysql

我可能遗漏了一些明显的东西,但是当我尝试执行此查询时,它没有返回任何结果。我将它直接插入MySQL,并尝试用有效的行值替换变量,我得到正确的输出。当我使用变量时,它没有给我任何结果。有人有吗?

    $query = "SELECT title FROM le7dm_pf_tasks WHERE project = (SELECT id FROM le7dm_pf_projects WHERE title = '".$ws_title."') ORDER BY title DESC LIMIT 1";

    $result_query = mysql_query($query) or die("Error: ".mysql_error());

    while ($row = mysql_fetch_assoc($result_query)) {
        $result_title = $row['title'];
    }

    $result_title = substr($result_title,0,6);
    echo $result_title;

2 个答案:

答案 0 :(得分:1)

你的SQL可以做一些返工(虽然不是你的问题的原因)。不需要嵌套选择(如果返回> 1行也可能导致错误)。尝试加入。

$sql = "
    SELECT title FROM le7dm_pf_tasks t
        INNER JOIN le7dm_pf_projects p ON t.project = p.id
    WHERE p.title = '{$ws_title}'
    ORDER BY title DESC LIMIT 1
";

您还使用while语句迭代未知数量的行。然后退出并尝试子字符串。你怎么知道在while中迭代的最后一行有一个值。

尝试在while循环中输出$ result_title来确认数据。

echo $result_title;

如果您真的只有一行,则不需要while循环。只是做

$row = mysql_fetch_assoc($result_query);

答案 1 :(得分:0)

用strip_tags($ ws_title); - 是什么做到的!标题包含在链接到该特定项目页面的锚标记中。

感谢所有好的建议。我将在bug测试中使用其中一些。