1

質問があります。PHP MySQLリソース変数を他に割り当てることはできますか?

たとえば

$query=mysql_query("SELECT * FROM sometable",$dbconn) or die("Wheewww!"); //$query, Resource variable

while($result=mysql_fetch_assoc($query))
 {
   echo $result['somefield']." ";
 }

$query_new=$query;  //Assigning mysql resource variable to other

while($result_new=mysql_fetch_assoc($query_new))
 {
   echo $result_new['somefield']." ";
 }

上記のコードがすべて正しいかどうか?あなたの考えを共有してください。

乾杯、
ジェンソン。

4

2 に答える 2

4

はい、あなたはそれをうまく行うことができますが、それはあなたに何の役にも立ちません。すでに結果セットを繰り返しており、リソースを別の変数に割り当ててもリセットされません。を使用して、結果セットのカーソルをリセットする必要がありますmysql_data_seek

また、非推奨のMySQL用APIの使用を停止し、PDOまたはMysqliに移行する必要があります。

于 2013-03-26T11:58:10.320 に答える
3

これは問題ありません。2つの変数を同じリソースにポイントしているだけです。ただし、$ query_newをループする前に、mysql_data_seek(http://www.php.net/manual/en/function.mysql-data-seek.php)を使用して内部データポインターをリセットする必要があります。

編集:decezeの回答には、非推奨ではないコードの使用に関する適切なアドバイスが含まれています

于 2013-03-26T11:58:38.747 に答える