Jump to content

[SOLVED] Why is the query ending up blank?


borabora12

Recommended Posts

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

 

$queryconpos  = mysql_query("SELECT @count := 0; SELECT @count := IF(dailydiff < 0, @count + 1, 0) as cntpos FROM the_table ORDER BY cntpos DESC LIMIT 1");
$resultconpos =  mysql_fetch_array($queryconpos, MYSQL_BOTH);
$conupdays = $resultconpos['cntpos'];
echo "&conupdays=$conupdays";

 

 

what am I doing wrong here that I am getting an error?

 

I tried inputing the following code in SQL sytex and it works:

 

SELECT @count := 0; SELECT @count := IF(dailydiff < 0, @count + 1, 0) as cntpos FROM the_table ORDER BY cntpos DESC LIMIT 1

 

I get an output of

 

cntpos

4

 

Link to comment
https://forums.phpfreaks.com/topic/136870-solved-why-is-the-query-ending-up-blank/
Share on other sites

The select @count was just so I could rerun the query.

 

 

It's causing an error because the mysql_query function only supports 1 query per call (security reasons).

 

 

The @count := 0 is also necessary so it's not null.  (NULL + x = NULL)

 

 

So, you have two options:

 

mysql_query("@count := 0;");

mysql_query(other query);

 

 

Or:

 

SELECT @count := IF(c < 0, IF(@count IS NULL, 1, @count + 1), 0) as cntpos FROM consec ORDER BY cntpos DESC LIMIT 1;

 

 

(Or a CASE statement could be used.  I would probably go with the first one, since the second one would add an extra IF call every row.

hey corbin  ;D

 

so in other words it would be something like this:

 

$query1 = mysql_query("SELECT @count := 0");
$query2 = mysql_query("SELECT @count := IF(dailydiff < 0, @count + 1, 0) as cntpos FROM the_table ORDER BY cntpos DESC LIMIT 1");

$result = mysql_fetch_array($query1, $query2);

echo "$result['cntpos']"

thanks again for all the help!

 

 

Hey corbin I got it to work! Thanks for all the help man!

 

Here is the solution just incase

$query = mysql_query("SELECT @count := 0");
$query = mysql_query("SELECT @count := IF(dailydiff < 0, @count + 1, 0) as cntpos FROM the_table ORDER BY cntpos DESC LIMIT 1");

$result = mysql_fetch_array($query);

echo "$result['cntpos']"

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.