Jump to content

Simple mySQL query with confusing error


rinkhals

Recommended Posts

Hey guys,

I realise that the problem is probably absolutely blatant but I just can't, for the life of me, see it.

Here is the error: "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in [file] on line 168"

Here is the line of PHP its pointing to

[code]
while($row = mysql_fetch_array($sql)){
[/code]

and here is the line with the actual query in it.

[code]
$sql = mysql_query("SELECT * FROM `topics` ORDER BY `timestamp` WHERE `id` = '$cid' DESC LIMIT $from, $to");
[/code]

If anyone could even just point me in the direction of knowing where my error is, it would be greatly appriciated.

Thanks

Rinkhals
Link to comment
https://forums.phpfreaks.com/topic/26023-simple-mysql-query-with-confusing-error/
Share on other sites

When debugging it's usually easier to find query errors when using the following format.

[code]
$query = 'query here';
$result = mysql_query($query) or die('query: '.$query."<br />\n".mysql_error());
[/code]

When there are errors with the query the output will show both the query after all variables have been expanded and the error returned by MYSQL.

I do notice the following error with the query.

[quote author=rinkhals link=topic=113696.msg462249#msg462249 date=1162534684]
[code]
$sql = mysql_query("SELECT * FROM `topics` ORDER BY `timestamp` WHERE `id` = '$cid' DESC LIMIT $from, $to");
[/code]
[/quote]

The query should have the WHERE clause before the ORDER BY.

[code]
SELECT * FROM `topics` WHERE `id` = '$cid' ORDER BY `timestamp` DESC LIMIT $from, $to
[/code]

Using the format shown earlier to make the query you'll be able to post any other errors that may exist.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.