Maison développement back-end tutoriel 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 "连接成功";    };?>
Copier après la connexion

上面代码,我故意把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 "连接成功";
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Connectez-vous à Ubuntu en tant que superutilisateur Connectez-vous à Ubuntu en tant que superutilisateur Mar 20, 2024 am 10:55 AM

Dans les systèmes Ubuntu, l'utilisateur root est généralement désactivé. Pour activer l'utilisateur root, vous pouvez utiliser la commande passwd pour définir un mot de passe, puis utiliser la commande su- pour vous connecter en tant que root. L'utilisateur root est un utilisateur disposant de droits d'administration système illimités. Il dispose des autorisations nécessaires pour accéder et modifier les fichiers, la gestion des utilisateurs, l'installation et la suppression de logiciels et les modifications de la configuration du système. Il existe des différences évidentes entre l'utilisateur root et les utilisateurs ordinaires. L'utilisateur root possède la plus haute autorité et des droits de contrôle plus étendus sur le système. L'utilisateur root peut exécuter des commandes système importantes et modifier des fichiers système, ce que les utilisateurs ordinaires ne peuvent pas faire. Dans ce guide, j'explorerai l'utilisateur root Ubuntu, comment se connecter en tant que root et en quoi il diffère d'un utilisateur normal. Avis

Solution à l'erreur fatale PHP : appel à la méthode non définie PDO::prepare() dans Solution à l'erreur fatale PHP : appel à la méthode non définie PDO::prepare() dans Jun 22, 2023 pm 06:40 PM

PHP est un langage de développement Web populaire utilisé depuis longtemps. La classe PDO (PHP Data Object) intégrée à PHP est un moyen courant pour nous d'interagir avec la base de données lors du développement d'applications Web. Cependant, un problème que certains développeurs PHP rencontrent souvent est que lorsqu'ils utilisent la classe PDO pour interagir avec la base de données, ils reçoivent une erreur comme celle-ci : PHPFatalerror:CalltoundefinedmethodPDO::prep

Que dois-je faire si « Erreur non interceptée (promise) : échec de la demande avec le code d'état 500 » se produit lors de l'utilisation d'axios dans une application Vue ? Que dois-je faire si « Erreur non interceptée (promise) : échec de la demande avec le code d'état 500 » se produit lors de l'utilisation d'axios dans une application Vue ? Jun 24, 2023 pm 05:33 PM

Il est très courant d'utiliser axios dans les applications Vue. axios est un client HTTP basé sur Promise qui peut être utilisé dans les navigateurs et Node.js. Pendant le processus de développement, le message d'erreur « Uncaught(inpromise)Error : Requestfailedwithstatuscode500 » apparaît parfois pour les développeurs, ce message d'erreur peut être difficile à comprendre et à résoudre. Cet article explorera ceci

Résoudre le problème de « erreur : le type incomplet n'est pas autorisé » dans le code C++ Résoudre le problème de « erreur : le type incomplet n'est pas autorisé » dans le code C++ Aug 26, 2023 pm 08:54 PM

Résolvez le problème « erreur : type incomplet n'est pas autorisé » dans le code C++. Au cours du processus de programmation C++, vous rencontrez parfois des erreurs de compilation. L'une des erreurs courantes est « erreur : type incomplet n'est pas autorisé ». Cette erreur est généralement provoquée par une opération sur un type incomplet. Cet article expliquera la cause de cette erreur et proposera plusieurs solutions. Tout d'abord, je

Résoudre le problème « erreur : initialiseur attendu avant le type de données » dans le code C++ Résoudre le problème « erreur : initialiseur attendu avant le type de données » dans le code C++ Aug 25, 2023 pm 01:24 PM

Résolvez le problème « erreur : initialiseur attendu avant le type de données » dans le code C++. Dans la programmation C++, nous rencontrons parfois des erreurs de compilation lors de l'écriture du code. L'une des erreurs courantes est « erreur : initialiseur attendu avant le type de données ». Cette erreur se produit généralement dans une déclaration de variable ou une définition de fonction et peut empêcher le programme de se compiler correctement ou

0271 : Que dois-je faire si l'ordinateur ne peut pas être allumé en raison d'une erreur d'horloge en temps réel ? 0271 : Que dois-je faire si l'ordinateur ne peut pas être allumé en raison d'une erreur d'horloge en temps réel ? Mar 13, 2023 am 11:30 AM

Solution à « 0271 : erreur d'horloge en temps réel » qui ne peut pas démarrer : 1. Appuyez sur F1 et dans l'interface qui apparaît, déplacez la barre d'options jusqu'au troisième élément « Date/Heure » 2. Modifiez manuellement l'heure du système à l'heure actuelle ; une fois ; 3. Appuyez sur F10 et sélectionnez oui dans la boîte de dialogue contextuelle ; 4. Rouvrez le portable pour démarrer normalement.

Quelle est la différence entre les directives root et alias dans la configuration Nginx ? Quelle est la différence entre les directives root et alias dans la configuration Nginx ? May 12, 2023 pm 12:16 PM

La racine et l'alias peuvent être définis dans le module de localisation et sont utilisés pour spécifier le chemin réel de la ressource demandée, par exemple : location/i/{root/data/w3;} requêtes http://foofish.net/i /top.gif Lorsque cette adresse est utilisée, la ressource réelle correspondante sur le serveur est le fichier /data/w3/i/top.gif Remarque : Le chemin réel est la valeur spécifiée par root plus la valeur spécifiée par location. Et l'alias est comme son nom. Le chemin spécifié par l'alias est l'alias de l'emplacement. Quelle que soit la façon dont la valeur de l'emplacement est écrite, le chemin réel de la ressource est le chemin spécifié par l'alias, par exemple.

Étape par étape, utiliser Python pour supprimer les fichiers à long chemin sous Windows Étape par étape, utiliser Python pour supprimer les fichiers à long chemin sous Windows Apr 12, 2023 pm 01:31 PM

0x01 Contexte de l'article Récemment, le stockage d'un système métier de l'entreprise de l'auteur approche de la limite, et le serveur ne pourra bientôt plus fonctionner car le système métier A contient plusieurs sous-systèmes A1, A2, A3... An, au milieu de ces sous-systèmes. Pour des raisons de conception, les fichiers de stockage sont tous stockés dans le même répertoire parent. La seule différence est que les noms des fichiers et des dossiers générés par les différents sous-systèmes commencent par le nom du sous-système. Par exemple, les fichiers générés par le sous-système A1 sont tous nommés A1xxxxx​, et les noms de fichiers générés par le sous-système A2 sont tous A2xxxxx. Nous devons maintenant supprimer les fichiers historiques de certains de ces sous-systèmes pour libérer de l'espace sur le serveur. Des dizaines de téraoctets de données sont stockés ensemble. La suppression manuelle n'apparaîtra certainement pas. Nous ne pouvons utiliser que l'automatisation du programme.

See all articles