警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果资源

时间:2012-08-23 22:58:14

标签: php sql

任何人都可以帮助我。我收到错误警告:mysql_fetch_assoc():提供的参数不是...中的有效MySQL结果资源。

我的代码:

include("../connection.php");

$con=mysql_connect($host, $username, $password, $db_name) or die ("insert error message");


mysql_select_db("db") or die ("Couldn't find database"); 

$story=mysql_query("SELECT hand_story.username, hand_story.age, hand_story.occupation,    
hand_story.star_sign, hand_story.cats_and_dogs, hand_story.holiday, hand_story.single, 
hand_story.story, big_hand_images.username, big_hand_images.url 
FROM hand_story    
INNER JOIN big_hand_images
ON hand_story.username=big_hand_images.username
WHERE big_hand_images.url='$guess'");

echo (mysql_error());

while($row = mysql_fetch_assoc($story)){

$age = $row['age'];
$occupation = $row['occupation'];
$star_sign = $row['star_sign'];
$cats_and_dogs = $row['cats_and_dogs'];
$holiday = $row['holiday'];
$single = $row['single'];
$story = $row['story'];
}

我可以回复数据库的结果,所以它正在工作,但我无法弄清楚为什么我也收到了错误信息。

有人可以帮忙吗?这与我的SQL查询有关吗? TA

3 个答案:

答案 0 :(得分:0)

试试这个:
        在哪里big_hand_images.url ='“。$ guess。”'“);

注意mysql注射

答案 1 :(得分:0)

任何时候你得到那种类型的错误,知道你的sql查询中有错误,因此MySQL没有返回行。

解决方案:复制sql语句并在phpmyadmin或类似的东西中运行,并确保查询在那里工作。打印出查询将揭示PHP发送给MySQL的内容

答案 2 :(得分:0)

我可以看到我现在所做的一切。

使用相同的变量名称 - $ story。将我的查询名称更改为$ story1,这消除了错误。