データベースから複数行のレコードを取得する場合、通常はループを実行します
while ($arr = mysql_fetch_array($result,MYSQL_ASSOC)){
var_dump($arr)
}
しかし、このように書くとエラーが発生します。 $arr = mysql_fetch_array($result,MYSQL_ASSOC);
while($arr){
var_dump($arr);
私は個人的に、仮パラメータ $arr が強制的に文字列に変換されることを知っています。 mysql_fetch_array の後に得られたものを推測します。それが正しいかどうかはわかりません。アドバイスをお願いします。また、それが本当の場合、割り当て時に $arr をリソース変数として定義するにはどうすればよいでしょうか?
$arr = mysql_fetch_array($query,MYSQL_ASSOC); while(list($k, $v) = each($arr)){//改成这样,不然直接$arr没有条件,mysql_fetch_array是有指针的 var_dump($arr); }
PDO ステートメントを使用してください
$arr = mysql_fetch_array($result,MYSQL_ASSOC);//直接while ($arr = mysql_fetch_array($result,MYSQL_ASSOC))可以是因为有指针 while(list($k, $v) = each($arr)){//改成这样,不然直接$arr没有条件,会一直执行,所以会出错 var_dump($arr); }
$arr = mysql_fetch_array($result,MYSQL_ASSOC);//直接while ($arr = mysql_fetch_array($result,MYSQL_ASSOC))可以是因为有指针 while(list($k, $v) = each($arr)){//改成这样,不然直接$arr没有条件,会一直执行,所以会出错 var_dump($arr); }
mysql_fetch_array は配列を取得します
gettype を使用して観察できます settype 関数を使用してデータ型を変換できます
に変換することは不可能です資源だ!
マニュアルには明確に記載されています: リソースタイプ変数にはファイル、データベース接続、グラフィックキャンバス領域などを開くための特別なハンドルが保存されるため、他のタイプの値をリソースに変換することはできません。
mysql_fetch_array は配列を取得します
settype 関数を使用してデータ型を変換できます
しかし、それをリソースに変換することは不可能です。
マニュアルには明確に記載されています: リソースタイプ変数にはファイル、データベース接続、グラフィックキャンバス領域などを開くための特別なハンドルが保存されるため、他のタイプの値をリソースに変換することはできません。 ありがとう!教訓を教えてもらった