コードは次のとおりです。何度もテストしましたが、まだ理由がわかりません。Navicat での SQL ステートメントのクエリ結果を確認してください。
function db_connect(){
$db=new mysqli("127.0.0.1 ", "root","admin159753","51dm","utf8");
$db->set_charset('utf8');
if (!$db);
echo "クラウドがデータベースに接続していません"; } else {
return $db; }
}
$DB=db_connect()
$type="select * type='ホームページステーションが動作する画像から 'chage_date descで注文";
$rs = $DB->query($query);
if (mysqli_num_rows($rs)==0) {
echo "num rows: 0";
}
if ($rs) {
echo "rs";
} else {
echo "Query failed";
}
?>
ディスカッションへの返信 (解決策)
クエリ結果を書き出していないのですが、結果を取得できますか? おかしいですねwhile( $row=mysqli_fetch_assoc($rs)){
var_dump($row) }彼はクエリを実行しませんでした
$rs = $DB->query($query);
これですか ?
彼はクエリを実行しませんでした、
mysqli_connect を使ってみてください
クエリの結果が出力されるのは奇妙です
$rs の値は常に null です。環境の問題だと思います
次のページには何が表示されますか?
実行後、ページには何が表示されますか?
あなたは不注意です (私も不注意で注意を払いませんでした)
あなたは mysqli クラスを使用してデータベースに接続し、クエリを実行していますが、mysqli 関数を使用して (mysqli_num_rows) をチェックしています。 もちろん、それは機能しません。
$DB->query($query);
あなたは不注意です (私は不注意で注意を払いませんでした) )
echo "num rows: 0";
}
$query = "select * from picture where type='ホームページ常駐作品' order by chage_date desc";
同じクエリ文であれば、文字セットが原因である可能性が高いです。
PHP ファイルは utf-8 でエンコードされていますか? mysqli("127.0.0.1", "root","admin159753","51dm","utf8");
$query = "select * from picture where type='ホームページ常駐作品' order by chage_date desc ";
$rs = $DB->クエリ($クエリ);
私は初心者ですが、多くの問題を見てきました (間違っていても叱らないでください):
$db=new mysqli("127.0.0.1", "root","admin159753","51dm", " utf8");
mysqli が与えるパラメータが多すぎます!データベース接続に問題が発生します。 ! IF (! $ DB) {
"クラウドがデータベースに接続していません"; else {
return $ db;
が使用されます判断条件として何かお返しします! $db は常に true!信じられない場合は、$db を返すために echo "ok" を追加してください
そして、mysqli クラスは、データベース接続が成功したかどうかを判断するために $db->errno を使用する必要がありますか?
つまり、データベースに接続する最初のステップに問題があり、もちろん何もクエリできません。
$query = "select * from picture where type='ホームページ常駐作品' order by chage_date desc";
同じクエリ文であれば、文字セットが原因である可能性が高いです。
PHP ファイルは UTF-8 でエンコードされていますか?
if ($ rs) {
echo "rs";
} else {
echo "Query failed"
}
皆さんありがとうございます。