Maison >développement back-end >tutoriel php >PHP问题求助,请大神帮忙。

PHP问题求助,请大神帮忙。

WBOY
WBOYoriginal
2016-06-27 13:18:06941parcourir

//refresh function//refresh item statusfunction refresh(){		$problem = false;	$result = mysql_query("SELECT ITEM_ID FROM ITEM WHERE END > NOW() AND STATUS != 'SOLD'");	if($result)	{			while ($row = mysql_fetch_array($result))		{			$act_id = $row['ITEM_ID'];			mysql_query("UPDATE ITEM SET STATUS = 'ACTIVE' WHERE ITEM_ID = $act_id");		}							$result = mysql_query("SELECT ITEM_ID, WINNER_ID, END FROM ITEM WHERE END <= NOW() AND STATUS != 'SOLD'");				if($result)		{					while ($row = mysql_fetch_array($result))			{				$exp_id = $row['ITEM_ID'];				$win_id = $row['WINNER_ID'];				$time = $row['END'];								// Error here. There is only one row has been displayed. There should be 4 rows actully.                 // Result:  7  0   2013-04-14 00:00:00 				echo $exp_id."<br>";				echo $win_id."<br>";				echo $time."<br>";								if($win_id == 0)				{					mysql_query("UPDATE ITEM SET STATUS = 'EXPIRE' WHERE ITEM_ID = $exp_id");				}				else				{					mysql_query("UPDATE ITEM SET STATUS = 'SOLD' WHERE ITEM_ID = $exp_id");					echo "INSERT INTO ITEM_SOLD VALUES($exp_id,$win_id,'".$time."','N')";					mysql_query("INSERT INTO ITEM_SOLD VALUES($exp_id,$win_id,'".$time."','N')");				}							}								$result = mysql_query("SELECT ITEM_ID FROM ITEM WHERE BEGIN > NOW() AND STATUS != 'SOLD'");						if($result)			{						while ($row = mysql_fetch_array($result))				{					$na_id = $row['ITEM_ID'];					mysql_query("UPDATE ITEM SET STATUS = 'NA' WHERE ITEM_ID = $na_id");				}			}			else			{				$problem = true;			}		}		else		{			$problem = true;		}	}	else	{		$problem = true;	}	if($problem)	{		print '<p class = "error">Cannot refresh active item.</p>';	}}


Same query in phpMyadmin, but different result:

SQL query: SELECT ITEM_ID, WINNER_ID, END FROM ITEM WHERE END  Rows: 4 

ITEM_ID  WINNER_ID  END  
2              4              2013-04-14 00:00:00 
4              2              2013-04-13 00:00:00 
6              1              2013-04-14 00:00:00 
7              0              2013-04-14 00:00:00 


Anyone can help me to solve the problem? Thanks a lot!!!


回复讨论(解决方案)

mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有 on the line 21 of you  code

mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有 on the line 21 of you  code

I don't quite understand... Any suggested solution?
(I don't have chinese input software on this computer, sorry about that...)

i mean the function mysql_fetch_array() just return  one row result 

u use the funciton function mysql_fetch_array() in the code on 21 line has a error ...

mysql_fetch_array ? Fetch a result row as an associative array, a numeric array, or both 

http://www.php.net/manual/en/function.mysql-fetch-array.php

u use the funciton function mysql_fetch_array() in the code on 21 line has a error ...

mysql_fetch_array ? Fetch a result row as an associative array, a numeric array, or both 

http://www.php.net/manual/en/function.mysql-fetch-array.php

Thanks for taking time to answer my question. But I am new to php and mySQL, I cannot solve this myself.
Can you just simply give me a solution?

i mean the function mysql_fetch_array() just return  one row result 

I am so sorry!
Something is wrong in my database connection header file...
I choosed the wrong database. Now it is fixed.


i mean the function mysql_fetch_array() just return  one row result 

I am so sorry!
Something is wrong in my database connection header file...
I choosed the wrong database. Now it is fixed.



congratulation

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn