2

エラーが発生しています:Invalid argument supplied for foreach()

これは、データベースに接続するための私のクラスです。

class dbMySql {

    static function Exec($query) {
        // open database
        $conn = mysql_connect('localhost','root','****');
        if($conn == false) {
            throw new Exception(mysql_connect_error());
    }
        mysql_select_db('data',$conn);

    $result = mysql_query($query,$conn);

        if(is_bool($result) && !$result) {
            $error = mysql_error($conn);
            mysql_close($conn);
            throw new Exception($error);
        }

        mysql_close($conn);

    return $result;
    }
}

そして私はこのコードを持っています:

echo '{ "results" : [ ';

$gettruck_result = dbMySql::Exec("SELECT  id, name, lat, lng FROM data)");
$result_array = array();

foreach($gettruck_result as $row) {

  $row_object = '{';
  $row_object .= '"id": "' . $row['id'] . '", ';
  $row_object .= '"name": "' . $row['name'] . '", ';
  $row_object .= '"lat": "' . $row['lat'] . '", ';
  $row_object .= '"lng": "' . $row['lng'] . '", ';
  $row_object .= '}';    
  $result_array[] = $row_object;
}

$result_str = implode(", ", $result_array);
echo $result_str;
echo " ] }";
?>

foreachループでエラーが発生する理由は何ですか?

4

2 に答える 2

3

交換する必要があります:

foreach($gettruck_result as $row) {

... と ...

while($row = mysql_fetch_assoc($gettruck_result)) {
于 2012-06-16T08:57:33.047 に答える
0

結果の配列が空かどうかを確認しました。

if(mysql_num_rows($gettruck_result)>0)
{
     foreach($gettruck_result as $row) {
      .
      .
     }
}
于 2012-06-16T09:39:53.813 に答える