PHP関数を使用してmySQLデータベースを照会しようとしています。断続的に、私が使用している関数は結果を返すようではありません。限り、私は検出することができます、それはnull応答ではなく、関数に基づいて、それは無効な結果を返すようではありません(戻り値の文字列Nuthinこの場合)。私は時間のfetch_assoc mysqliが空に戻る
SELECT Name FROM Char_Name_full WHERE Male=1 AND DivisionID=12 ORDER BY RAND() LIMIT 1
約80%と同じSQLクエリを使用してきた
function GeneratePiece2 ($sqlstr){
$conn = new mysqli(gHOST, gUSER, gPASSWORD, gDATABASE);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = $conn->query($sqlstr);
$returnable = "";
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo $row;
$returnable = $row;
}
} else {
return "nuthin";
}
$conn->close();
return $returnable;
}
私は{「名」:「クリストフ」} のようなものの結果を受け取ることになりますが、 10のうち1が何も返しません。
どこ行がないことを確認してくださいNameの値がNULLです。 –
私の知る限り、NULLの結果はありません。エコー結果以外を確認する別の方法がありますか? –
実際に値を調べたり、$行の前後の文字をエコーしたりします。または、WHERE Name is NOT NULL AND ...(前の基準を追加する)のように、SQLでNULLを除外します。または、特定のNULLを検索する場合は、Char_Name_fullから名前を選択します。WHERE Nameは、そのクエリの行数が0より大きい場合はNULL、名前がNULLの場合はnullです。また、id列のような他の列を返すこともできます。 –