连接出错后为什么还会执行else后的语句?解决办法
连接出错后为什么还会执行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 "连接成功";

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In Ubuntu-Systemen ist der Root-Benutzer normalerweise deaktiviert. Um den Root-Benutzer zu aktivieren, können Sie mit dem Befehl passwd ein Passwort festlegen und sich dann mit dem Befehl su- als Root anmelden. Der Root-Benutzer ist ein Benutzer mit uneingeschränkten Systemadministratorrechten. Er verfügt über Berechtigungen zum Zugriff auf und zum Ändern von Dateien, zur Benutzerverwaltung, zum Installieren und Entfernen von Software sowie zum Ändern der Systemkonfiguration. Es gibt offensichtliche Unterschiede zwischen dem Root-Benutzer und normalen Benutzern. Der Root-Benutzer verfügt über die höchste Autorität und umfassendere Kontrollrechte im System. Der Root-Benutzer kann wichtige Systembefehle ausführen und Systemdateien bearbeiten, was normale Benutzer nicht können. In dieser Anleitung werde ich den Ubuntu-Root-Benutzer untersuchen, wie man sich als Root anmeldet und wie er sich von einem normalen Benutzer unterscheidet. Beachten

PHP ist eine beliebte Webentwicklungssprache, die schon seit langem verwendet wird. Die in PHP integrierte PDO-Klasse (PHP Data Object) ist für uns eine gängige Möglichkeit, bei der Entwicklung von Webanwendungen mit der Datenbank zu interagieren. Ein Problem, auf das einige PHP-Entwickler jedoch häufig stoßen, besteht darin, dass sie bei Verwendung der PDO-Klasse zur Interaktion mit der Datenbank eine Fehlermeldung wie diese erhalten: PHPFatalerror:CalltoundefinedmethodPDO::prep

Axios wird häufig in Vue-Anwendungen verwendet. Axios ist ein Promise-basierter HTTP-Client, der in Browsern und Node.js verwendet werden kann. Während des Entwicklungsprozesses erscheint manchmal die Fehlermeldung „Uncaught(inpromise)Error: Requestfailedwithstatuscode500“. Für Entwickler kann diese Fehlermeldung schwer zu verstehen und zu lösen sein. In diesem Artikel wird dies untersucht

Lösen Sie das „error:incompletetypeisnotallowed“-Problem im C++-Code. Während des C++-Programmierungsprozesses treten manchmal einige Kompilierungsfehler auf. Dieser Fehler wird normalerweise durch die Arbeit mit einem unvollständigen Typ verursacht. In diesem Artikel wird die Ursache dieses Fehlers erläutert und verschiedene Lösungen bereitgestellt. Zunächst einmal: Ich

Lösen Sie das „error:expectedinitializerbefore'datatype‘“-Problem in C++-Code. Beim Schreiben von Code treten manchmal Kompilierungsfehler auf. Einer der häufigsten Fehler ist „error:expectedinitializerbefore‘datatype‘“. Dieser Fehler tritt normalerweise in einer Variablendeklaration oder Funktionsdefinition auf und kann dazu führen, dass das Programm nicht korrekt kompiliert werden kann oder

Lösung für „0271: Echtzeituhrfehler“, der nicht gestartet werden kann: 1. Drücken Sie F1 und verschieben Sie in der angezeigten Benutzeroberfläche die Optionsleiste zum dritten Element „Datum/Uhrzeit“. 2. Ändern Sie die Systemzeit manuell auf die aktuelle Uhrzeit einmal; 3. Drücken Sie F10 und wählen Sie im Popup-Dialogfeld „Ja“ aus. 4. Öffnen Sie das Notebook erneut, um es normal zu starten.

Sowohl Root als auch Alias können im Standortmodul definiert werden und werden verwendet, um den tatsächlichen Pfad der angeforderten Ressource anzugeben, zum Beispiel: location/i/{root/data/w3;} Anfragen http://foofish.net/i /top.gif Wenn diese Adresse verwendet wird, ist die entsprechende reale Ressource auf dem Server die Datei /data/w3/i/top.gif. Hinweis: Der tatsächliche Pfad ist der durch root angegebene Wert plus dem durch location angegebenen Wert. Und Alias ist genau wie sein Name der Alias des Standorts. Unabhängig davon, wie der Wert des Standorts geschrieben wird, ist der tatsächliche Pfad der Ressource der durch Alias angegebene Pfad

0x01 Hintergrund des Artikels Vor Kurzem nähert sich der Speicher eines Geschäftssystems des Unternehmens des Autors seiner Grenze und der Server kann bald nicht mehr ausgeführt werden, da das Geschäftssystem A mehrere Subsysteme A1, A2, A3 ... enthält. In der Mitte dieser Subsysteme werden die Speicherdateien aus Designgründen alle im selben übergeordneten Verzeichnis gespeichert. Der einzige Unterschied besteht darin, dass die Namen der von verschiedenen Subsystemen generierten Dateien und Ordner mit dem Namen des Subsystems beginnen. Beispielsweise heißen die vom A1-Subsystem generierten Dateien alle A1xxxxxx und die vom A2-Subsystem generierten Dateinamen lauten alle A2xxxxxx. Jetzt müssen wir die historischen Dateien einiger dieser Subsysteme löschen, um Dutzende Terabyte an Daten zusammen zu speichern. Wir können nur die Programmautomatisierung verwenden.
