JSONを返すWebサービスをphpで作成しました。それは正常に動作しますが、ほとんどの場合、必要なすべての情報を取得するときに一貫性がありません。また、table_bio という名前の最後から 2 番目のテーブルである特定の列を除外する場合もあります。キャッシュの問題だと思いましたが、関連するヘッダーをApacheとサービス内に配置しましたが、まだ運がありません。問題は、サービスが正しい情報を取得しているが、正しい情報を返していないことです。
以下は私のコードです:
<?php
error_reporting (E_ALL ^ E_NOTICE);
$id = $_GET['Table'];
/* grab the posts from the db */
$query = "SELECT * FROM table WHERE table_id='$id'";
$result = mysql_query($query,$link) or die('Errant query: '.$query);
/* create one master array of the records */
while($post = mysql_fetch_assoc($result)) { $posts = $post; }
/* output in necessary format */
header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.
header('Content-type: application/json');
echo $_GET['onJSONPLoad'];
echo "(" . json_encode($posts) . ")";
@mysql_close($link);
?>
なぜこれが起こっているのかについてのアイデアはありますか?
時々表示されない列がテキスト型であることにも言及する必要があります