Heim >Backend-Entwicklung >PHP-Tutorial >PHP问题求助,请大神帮忙。

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

WBOY
WBOYOriginal
2016-06-27 13:18:06948Durchsuche

//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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn