ホームページ バックエンド開発 PHPチュートリアル 连接出错后为什么还会执行else后的语句?解决办法

连接出错后为什么还会执行else后的语句?解决办法

Jun 13, 2016 am 10:20 AM
connect error mysqli quot root

连接出错后为什么还会执行else后的语句?

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php $mysqli=new mysqli('localhost','root','root1','mydb');    if ($mysqli->connect_error){        die("连接失败".$mysqli->connect_error);    }else{        echo "连接成功";    };?>
ログイン後にコピー

上面代码,我故意把root写成root1,如果不改,页面显示连接成功,可是连接出错页面会显示如下
Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp\www\Project1\f.php on line 2

Warning: main() [function.main]: Couldn't fetch mysqli in C:\wamp\www\Project1\f.php on line 4
连接成功
为什么连接出错了,没有显示die里的 连接失败 信息?
如果连接失败,为什么还会显示else里的连接成功?

------解决方案--------------------
很简单
当连接失败后, $mysqli 就是无效的
if ($mysqli->connect_error)
就会因为 $mysqli 不是对象,而不能进入 true 分支

于是只会执行 echo "连接成功";
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

スーパーユーザーとして Ubuntu にログインします スーパーユーザーとして Ubuntu にログインします Mar 20, 2024 am 10:55 AM

Ubuntu システムでは、通常、root ユーザーは無効になっています。 root ユーザーをアクティブにするには、passwd コマンドを使用してパスワードを設定し、su-コマンドを使用して root としてログインします。 root ユーザーは、無制限のシステム管理権限を持つユーザーです。彼は、ファイルへのアクセスと変更、ユーザー管理、ソフトウェアのインストールと削除、およびシステム構成の変更を行う権限を持っています。 root ユーザーと一般ユーザーの間には明らかな違いがあり、root ユーザーはシステム内で最高の権限とより広範な制御権限を持ちます。 root ユーザーは、一般のユーザーでは実行できない重要なシステム コマンドを実行したり、システム ファイルを編集したりできます。このガイドでは、Ubuntu の root ユーザー、root としてログインする方法、および通常のユーザーとの違いについて説明します。知らせ

PHP 致命的エラーの解決策: 未定義メソッド PDO::prepare() の呼び出し PHP 致命的エラーの解決策: 未定義メソッド PDO::prepare() の呼び出し Jun 22, 2023 pm 06:40 PM

PHP は、長い間使用されている人気のある Web 開発言語です。 PHP に統合された PDO (PHP Data Object) クラスは、Web アプリケーションの開発中にデータベースと対話する一般的な方法です。ただし、一部の PHP 開発者がよく遭遇する問題は、PDO クラスを使用してデータベースと対話するときに、次のようなエラーが表示されることです。

Vue アプリケーションで axios を使用しているときに「Uncaught (in Promise) Error: Request failed with status code 500」が発生した場合はどうすればよいですか? Vue アプリケーションで axios を使用しているときに「Uncaught (in Promise) Error: Request failed with status code 500」が発生した場合はどうすればよいですか? Jun 24, 2023 pm 05:33 PM

Vue アプリケーションで axios を使用するのは非常に一般的です。axios は、ブラウザーと Node.js で使用できる Promise ベースの HTTP クライアントです。開発プロセス中に、「Uncaught(inpromise)Error: Requestfailedwithstatuscode500」というエラー メッセージが表示されることがありますが、開発者にとって、このエラー メッセージは理解および解決が難しい場合があります。この記事ではこれについて説明します

C++ コードの「エラー: 不完全な型は許可されません」の問題を解決する C++ コードの「エラー: 不完全な型は許可されません」の問題を解決する Aug 26, 2023 pm 08:54 PM

C++ コードの「error:incompletetypeisnotallowed」問題を解決します。C++ プログラミング プロセス中に、コンパイル エラーが発生することがあります。一般的なエラーの 1 つは、「error:incompletetypeisnotallowed」です。このエラーは通常、不完全な型を操作することによって発生します。この記事では、このエラーの原因を説明し、いくつかの解決策を提供します。まず、私は

C++ コードの「エラー: 'datatype' の前に初期化子が必要です」問題を解決する C++ コードの「エラー: 'datatype' の前に初期化子が必要です」問題を解決する Aug 25, 2023 pm 01:24 PM

C++ コードの「error:expectedinitializerbefore'datatype'」問題を解決します。C++ プログラミングでは、コードを作成するときにコンパイル エラーが発生することがあります。一般的なエラーの 1 つは、「error:expectedinitializerbefore'datatype'」です。このエラーは通常、変数宣言または関数定義で発生し、プログラムが正しくコンパイルされなかったり、

0271: リアルタイムクロックエラーによりコンピュータの電源が入らない場合はどうすればよいですか? 0271: リアルタイムクロックエラーによりコンピュータの電源が入らない場合はどうすればよいですか? Mar 13, 2023 am 11:30 AM

起動できない「0271: リアルタイム クロック エラー」の解決策: 1. F1 キーを押し、表示されるインターフェイスでオプション バーを 3 番目の項目「日付/時刻」に移動します; 2. システム時刻を手動で現在の時刻に変更します。 1 回; 3. F10 キーを押し、ポップアップ ダイアログ ボックスで [はい] を選択します; 4. ノートブックを再度開いて、通常どおり起動します。

Nginx 設定における root ディレクティブと alias ディレクティブの違いは何ですか? Nginx 設定における root ディレクティブと alias ディレクティブの違いは何ですか? May 12, 2023 pm 12:16 PM

ルートとエイリアスの両方を location モジュールで定義でき、リクエストされたリソースの実際のパスを指定するために使用されます。たとえば、 location/i/{root/data/w3;} リクエスト http://foofish.net/i /top.gif このアドレスが使用される場合、サーバー内の対応する実際のリソースは、/data/w3/i/top.gif ファイルです。 注: 実際のパスは、root で指定された値に location で指定された値を加えたものです。そして、alias はその名前と同じです。alias で指定されたパスは location の別名です。location の値がどのように記述されても、リソースの実際のパスは、次のように alias で指定されたパスになります。

Python を使用して Windows で長いパスのファイルを段階的に削除する Python を使用して Windows で長いパスのファイルを段階的に削除する Apr 12, 2023 pm 01:31 PM

0x01 記事の背景 最近、筆者の会社の業務システムのストレージが限界に近づき、まもなくサーバーが起動できなくなります 業務システムAには複数のサブシステムA1、A2、A3…が含まれているため、これらのサブシステムの中央 設計上の理由により、保存されたファイルはすべて同じ親ディレクトリに保存されます。唯一の違いは、異なるサブシステムによって生成されたファイルとフォルダーの名前がす​​べてサブシステムの名前で始まることです。たとえば、A1 サブシステムによって生成されるファイル名はすべて A1xxxxxx で、A2 サブシステムによって生成されるファイル名はすべて A2xxxxx です。ここで、サーバーのスペースを解放するために、これらのサブシステムの一部の履歴ファイルを削除する必要があります。数十テラバイトのデータが一緒に保存されています。手動での削除は絶対に表示されません。使用できるのはプログラムの自動化だけです。

See all articles