2011-08-16 67 views
0

我想这一点:错误与内部查询加入

$result = mysql_query(" 
SELECT Users.*, Posts.* 
FROM Users 
INNER JOIN Posts ON Users.User = Posts.User 
WHERE MATCH (Posts.City) AGAINST ('$city2') 
ORDER BY Posts.`Date` DESC LIMIT 10"); 

if(!$result) { 
    { 
    die('Error: ' . mysql_error()); 
    } 

我没有得到一个错误,但我得到结果为零。

我不知道我在做什么错,事实上我认为我没有改变任何东西,它在工作之前。我相信添加引号或其他内容可以解决问题,但我不知道该怎么做。一个更简单的查询只能从没有内连接的帖子中选择。我究竟做错了什么?

感谢

+1

你做'mysql_real_escape_string($ city2)'? – sanmai

+0

显示查询的'EXPLAIN SELECT ...'。 – sanmai

回答

4

你打电话超过一次mysql_query更多。试着改变你的if声明如下:

if(!$result) { 

而且,我希望没有人住在一个​​城市,一个单引号!

+0

Ooops,有人[绝对生活](http://wiki.answers.com/Q/US_cities_with_apostrophe) – J0HN

+0

谢谢。我改变了它,但我没有得到任何结果......有没有可能的原因呢?如果我删除内部联接只选择从帖子我得到的结果,但我需要做内部联接来获取用户的头像。 – lisovaccaro

+0

如果有人住在带撇号的城市,会发生什么?只是好奇 – lisovaccaro