ホームページ > バックエンド開発 > PHPチュートリアル > mysqliのクエリデータは常にnullです

mysqliのクエリデータは常にnullです

WBOY
リリース: 2016-06-23 13:33:17
オリジナル
1155 人が閲覧しました

コードは次のとおりです。何度もテストしましたが、まだ理由がわかりません。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 です。環境の問題だと思います

次のページには何が表示されますか?


行数:0 クエリが失敗しました

実行後、ページには何が表示されますか?


10 年前に書かれた古いプログラムで、サーバーは数年間メンテナンスされていません

あなたは不注意です (私も不注意で注意を払いませんでした)

あなたは mysqli クラスを使用してデータベースに接続し、クエリを実行していますが、mysqli 関数を使用して (mysqli_num_rows) をチェックしています。 もちろん、それは機能しません。


彼はクエリを実行しませんでした、


$DB->query($query);

この文は mysqli メソッドを使用してクエリされました

あなたは不注意です (私は不注意で注意を払いませんでした) )
mysqli クラスを使用します もちろん、mysqli 関数を使用して、接続されているデータベースを確認してクエリ (mysqli_num_rows) することはできません。


if (mysqli_num_rows($rs)==0) {

echo "num rows: 0";
}

この文はテストのために私がランダムに追加したもので、$rs は削除しても問題ありません。 $rs = $DB->query($query) の結果は常に null ですが、理由はわかりません
$DB->query($query);
if(!$ rs) {
printf("Errormessage: %sn", $mysqli->error);

何が問題なのかを確認してください。

$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 でエンコードされていますか?


私も UTF-8 に変更しましたが、それでも機能しませんでした。サーバーを再起動した後、Kingsoft Guard は数年間誰も対処していなかった無数のウイルスを発見しました。 .

if ($ rs) {
echo "rs";
} else {
echo "Query failed"
}



php のバージョンを調べてみたところ、 5.2.13になる...とても古いです



ソースファイルのパラメータが一致していないことにまだ注意する必要があるようです 正しい解決策

皆さんありがとうございます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート