我可能遗漏了一些明显的东西,但是当我尝试执行此查询时,它没有返回任何结果。我将它直接插入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;
答案 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测试中使用其中一些。