-2

データを取得して JSON にエンコードしようとしています。私はこの非常に紛らわしい問題を抱えています。getAnnotions() 関数に入れたコードは、関数に入れない場合、while ループ (//This ループとコメント) に到達します。同じコードを getAnnotions() 関数でカプセル化すると、その while ループには達しません。何が問題なのですか?

コードは次のとおりです。

    <?php

$city=$_GET["city"];
//$limit="1";
//$place=$_GET["place"];

getAnnotions("1");

function getAnnotions($limit)
{

    $con = mysql_connect("localhost","hidden","*******");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }

    mysql_select_db("merrycod_tummy", $con);

    $result = mysql_query("SELECT * FROM deal where city_names LIKE '%".$city."%'");

    $rows = array();

    while($row = mysql_fetch_array($result))
      {

          $rows[] = $row;


          $result2 = mysql_query("SELECT locationLat,locationLong FROM place where city ='".$city."' AND name='".$row['place_name']."' LIMIT ".$limit);



          while($row2 = mysql_fetch_array($result2))
          {
                $rows[] = $row2;

              //This loop

          }


      }

      echo json_encode($rows);


    mysql_close($con);

}
 ?>
4

2 に答える 2

4

はグローバル スコープで定義されているため$city、PHP 関数では別のスコープの変数を直接使用することはできません。パラメーターとして渡す (推奨)global $city、関数の先頭で を使用できます。

于 2012-07-21T12:22:39.160 に答える
0

最初に $result で SQL をエコーし​​、次に phpmyadmin でエコーしたコードを実行して、SQL が正しいかどうかを確認することをお勧めします。

于 2012-07-21T12:23:03.807 に答える