//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>'; }}
mysql_fetch_array() 関数が結果セットから行を取得しますコードの 21 行目に連想配列、数値配列、またはその両方を記述してください
つまり、関数 mysql_fetch_array() は 1 行の結果を返すだけです
21 行目のコードで関数 mysql_fetch_array() を使用すると、エラーが発生します...
mysql_fetch_array として結果行をフェッチしますか?連想配列、数値配列、またはその両方
21 行目のコードで関数 function mysql_fetch_array () を使用しています。エラー ...
TCH_ARRAY? 結果行を連想配列、数値配列、またはその両方として取得します
http://www.php.net/manual/en/function.mysql-fetch-array。 php
私の質問に答えるために時間を割いていただきありがとうございます。しかし、私は php と mySQL を初めて使用するので、これを自分で解決することはできません
関数 mysql_fetch_array() は 1 行を返すだけです。結果
申し訳ありません!
データベース接続ヘッダー ファイルに問題があります。
間違ったデータベースを選択しました。これで、mysql_fetch_array() 関数が 1 行の結果を返すようになりました。
データベース接続ヘッダー ファイルに問題があります。
間違ったデータベースを選択しました
おめでとうございます