0

ここで何が起こっているのかよくわかりませんが、mysql から値をエコーし​​ようとしていますが、そうすると、何らかの理由で二重に表示されます

コード:

$result = MySqlQuery('SELECT value FROM table WHERE id=1');
$value = mysqli_fetch_assoc($result);

echo implode($value);

7373 と表示され、値は DB では 73 です。また、値の代わりに * をエコーし​​ようとしましたが、行全体が二重に表示されます。

そこでエコーを削除しても何も表示されないので、別の機能を介してエコーされているわけではないので混乱しています

また、MySqlQuery() 関数は、二重の結果を表示しないサイトの他のほとんどすべてで使用されます

4

1 に答える 1

4

mysqli_fetch_arrayデフォルトで選択した列の 2 倍の要素を持つ配列を返します (各列は 2 回表されます)。mysqli_fetch_assocあなたのコードの はタイプミスだと思います。

この問題を解決するには、mysqli_fetch_assoc代わりに を使用するか、 の 1 つをMYSQLI_ASSOC2MYSQLI_NUM番目のパラメータとして に渡しますmysqli_fetch_array。経験則として、mysqli_fetch_assoc他に何かが必要であることがわかっている場合を除き、使用してください。

于 2012-06-19T08:26:43.910 に答える