2011-12-17 5 views
2

これは私のPHPページの1のコードのサンプルです:配列フェッチは

$query_result=mysql_query($query); 
$_SESSION['result']=$query_result; 

そして、これは、同じプロジェクト内の他のページのコードのサンプルです:

session_start();  
$row=mysql_fetch_array($_SESSION['result']); 

これは私に言うエラー与えます「は、mysql_fetch_array()を整数与えられ、パラメータ1は資源であることを期待」...誰も私がこれを理解することができます...

+2

$ _SESSION [ '結果']の内容は、先行するmysql_queryの呼び出しによって返されるないものです。また、(私はかなり確信しています)とにかくセッションにリソースを保存することはできません。 (編集:最初の問題が修正されていますが、2番目の問題がまだまだ残っています) – GordonM

+1

クエリの結果をページ間で渡すことはできません! – codeling

+0

get_resource_typeを試してみると、リソースがあるかどうかを確認することができます – Kamil

答えて

6

クエリ資源:-)感謝はしないでくださいセッションをまたいで存続します。

現在、 セッションでリソース変数を登録することは不可能です。たとえば、データベースへの接続を作成することはできず、 は接続IDをセッション変数として格納し、次にセッションが復元されたときにも 接続が有効であると想定します。 リソースを返すPHP関数は、戻り値が のリソースを関数定義に持つことによって識別されます。

PHP Manual

+0

ありがとうございました。私はPHPで新しくなったことを知らなかった:)... –

+1

あなたは常にセッション中にクエリ文字列を渡すことができます。適切なページでこれを実行してください – Kamil

0

からこのエラーが原因は、mysql_fetch_arrayのオブジェクトパス(見つからなかったことになります)。

あなたはそのように実行する必要があります。

$query_result=mysql_query($query); 
$_SESSION['result']=$query_result; 

$row=mysql_fetch_array($_SESSION['result']); 
+0

OPは彼のコードを修正しました... –

+0

yah、私はそれを見ました。 –

関連する問題