0

この PHP コードを使用して、DB から値を取得します。

私の問題は、nullの結果が得られたことです。

!empty($result) と mysql_num_rows($result) をチェックしますが、それでも null の結果が得られました。

phpmyadmin のコードで使用しているクエリとまったく同じクエリをテストしたところ、動作しました。

からの反響$response["SQL"]は「良い」です。

ここに私のPHPコードがあります:

$result = mysql_query("SELECT * FROM workouts_wall WHERE workout_name = 'WO13' AND user = 'tomer2'") or die (mysql_error());


// mysql inserting a new row
 if (!empty($result))
 {
    if (mysql_num_rows($result) > 0) 
    {
        $response["SQL"] = "good";
    }
    else
    {
        $response["SQL"] = "bad";
    }
}

else    
{
    $response["SQL"] = "bad";
}   


$response["is null?"] = $result;
    // echoing JSON response
    echo json_encode($response);

解決済み

この行を追加して修正しました:

$row = mysql_fetch_array($result);
4

4 に答える 4

0

これを試して。それがうまくいくことを願っています:

$result = mysql_query("SELECT * FROM workouts_wall WHERE workout_name = 'WO13' AND user = 'tomer2'") or die (mysql_error());


    // mysql inserting a new row
     if (!empty(mysql_fetch_array($result)))
     {
        if (mysql_num_rows(($result) > 0) 
        {
            $response["SQL"] = "good";
        }
        else
        {
              $response["SQL"] = "bad";
        }
    }

    else    
    {
        $response["SQL"] = "bad";
    }   


    $response["is null?"] = $result;
        // echoing JSON response
        echo json_encode($response);
于 2013-07-23T19:44:05.923 に答える
0

行がない mysql の結果は空ではありません。これは、たまたま実際には行が含まれていない標準の mysql 結果ハンドルです。これはエラーではなく、空の文字列でも、空の配列でもありません...他の結果ハンドルと同様に、標準の結果ハンドルです。

あなたのコードは

$result = mysql_query($sql) or die(mysql_error()); // catch the REAL errors
if (mysql_num_rows($result) == 0) { 
   ... result set is empty
}
于 2013-07-23T19:49:39.827 に答える