-2

*mysql_fetch_assoc* を使用していますが:

This extension is deprecated as of PHP 5.5.0, and will be removed in the future

php.net は *MySQLi または PDO_MySQL* を推奨しています

試してみmysqli_fetch_assocましたが、実際のフィールド名 (属性) と対応する値を取得する方法がわかりません。

ユーザー情報が 1 行しかない場合:

例:結果フィールド名: "Name" と "Age"、値: "John" と "18"。

私の目標は、実際のフィールド名 (名前と年齢) を取得すると同時に、$column['Name'] または $column['Age'] のような同じループで特定のフィールド名の値を取得することです。

既存のループ内の SQL の例:

$sqlUpdate = "Update report SET `" . $key. "` = " . $value . " where Name = '" . $value . "'"

.

$value だけを使用すると、参照しているフィールド名をどのように知ることができるか...where Name = '" . $value . "'"?

これは、他のテーブルの行内のレコードが他のテーブルのフィールド名 (列) であるレポート目的のみです。

これが私の懸念についてもっと説明してくれることを願っています。

ちなみに、mysql_fetch_assoc と mysqli_fetch_assoc は、これらの拡張機能 (古いものでも新しいものでも) が私の懸念を解決するのにまだ役立つかどうか、十分な知識を持っている可能性がある人に伝える私の方法です。

4

1 に答える 1

3
  1. mysqli を使用しないでください。代わりに PDO を使用してください。
    準備されたステートメントのためだけに mysql_ から移行するように誰もが勧めていますが、mysqli はそれらで使用できません。
  2. コメントで述べたように、連想配列には、キーとしての名前、値としての値など、すべての情報が既に含まれています。それがどこから来たかに関係なく - mysql、mysqli、または手動で作成された配列:

.

$arr['Name'] = 'John';

そのため、さまざまな方法でキーを取得できます。

$key = key($arr); // $key="Name" now
foreach ($arr as $key => $value) {  // another way to get keys and values.
    echo $key .' ' . $value;
}
$keys = array_keys($arr); // $keys=array('Name'); now

しかし、あなたの問題は他の場所にあると感じていますが、適切に説明することはできません.
あなたの最終目標は何ですか?なぜそのフィールド名が必要なのですか?

于 2013-02-19T19:49:08.073 に答える