0

私はこのPHPコードと、「Question」、「answer1」、「answer2」、「Question_id」を含むDataBaseを持っています。PHPからSQLクエリを作成し、回答をエンコードしてAndroidアプリを送信すると、「Question」のみフィールドがnullです。コードである可能性があることを読みましたが、データベースはutf-8でエンコードされています。また、PHP の「utf8_encode」関数を使用して結果を utf-8 に変換しようとしましたが、うまくいかないので、助けを求めます:P

コードは次のとおりです(DataBaseといくつかの未使用の行に接続するコードを削除しました....)

$sql=mysql_query("SELECT * FROM Questions");
$num_rows = mysql_num_rows($sql);
$max_value = (int)$num_rows;
$quest_id = rand ( 1, $max_value);
$sql=mysql_query("SELECT * FROM Questions WHERE id_quest = $quest_id");

$row = mysql_fetch_array($sql);
$output[]=$row;



    echo(json_encode($output));
mysql_close();

どうもありがとうございました:D

4

2 に答える 2

0

2つのクエリを使用する代わりに、1つだけを使用してみてください。問題は解決しないかもしれませんが、dbへの呼び出し回数は減ります。

SELECT * FROM Questions ORDER BY RAND() LIMIT 1
于 2012-04-05T19:29:44.413 に答える
0

少し間違っていると思います。データベースは UTF8 でエンコードされている可能性がありますが、php からデータベースへの通信はそうではありません(デフォルトでは latin1 / ISO-8859-1 です)。

あなたがしていない限り

mysql_query('SET CHARACTER SET utf8');

あなたが私たちと共有していない場所、それはあなたが調べるべき解決策です.

于 2012-04-05T20:28:50.077 に答える