Je suis confronté à l’erreur de type mysqli_query() argument#1

la programmation


Je suis confronté au problème ci-dessous.

Citation:

Erreur fatale : Uncaught TypeError : mysqli_query() : L’argument n°1 ($mysql) doit être de type mysqli, bool donné dans C:\location:18 Trace de pile : #0 C:\location(18) : mysqli_query(true, ‘ select*from `us…’) #1 {main} lancé dans C:\location à la ligne 18

S’il vous plaît, faites le tri.
Ci-dessous le code.

PHP
<?php

$dbhost="localhost"; 

$dbuser = "root"; 

$dbpass = "password"; 



$mysql =  mysqli_connect($dbhost, $dbuser, $dbpass, 'userlogin');

if($mysql = true){
 echo "Connection Succesful!";
} else{
    die(mysqli_error);
}
if(mysqli_query($mysql, 'select*from `user info`')){
echo "<br> ERROR SOLVED FOREVER!";
}else{
echo "<h1><br><br> THIS IS AN ERROR!".mysqli_error'</h1>'
}
?>

REMARQUE : le problème concerne uniquement la ligne 18. Il a fonctionné avec succès pour le test de connexion.
Merci.

Ce que j’ai essayé :

Remplacement de $mysql par mysqli_connect($dbhost, $dbuser, $dbpass, ‘userlogin’); à la place à la ligne 18 de la fonction mysqli_query(). . Ça a marché.

Solution 1

En cas de doute, lisez le manuel : PHP : mysqli_connect – Manuel[^] Ça dit:

Citation:

Si le mode d’exception mysqli n’est pas activé et qu’une connexion échoue, alors mysqli_connect() renvoie false au lieu d’un objet.

Ce n’est pas la même chose que “si ça réussit, ça revient”. true“.
S’il réussit, il renvoie un objet de connexion que vous pouvez utiliser, et non une valeur booléenne.

Modifiez votre test pour vérifier false au lieu de true

Solution 2

si(isset($_SESSION[‘check_login’]))
{
header(’emplacement:tableau de bord.php’);

}

コメント

タイトルとURLをコピーしました