web-dev-qa-db-fra.com

Avertissement: mysqli_error () attend exactement 1 paramètre, 0 erreur donnée

Je suis un tutoriel, mais l'auteur du tutoriel ne répond pas aux questions - mais voici ma requête

J'obtiens l'erreur suivante Attention: mysqli_error () attend exactement 1 paramètre, 0 étant donné, le problème est avec cette ligne de code -

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

Le code entier est

session_start();

require_once "scripts/connect_to_mysql2.php";

//Build Main Navigation menu and gather page data here

$sqlCommand = "SELECT id, linklabel FROM pages ORDER BY pageorder ASC";

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

$menuDisplay = '';
while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["id"];
    $linklabel = $row["linklabel"];

    $menuDisplay .= '<a href="index.php?pid=' . $pid . '">' . $linklabel . '</a><br />';

} 
mysqli_free_result($query); 

Le fichier inclus a la ligne suivante

$myConnection = mysqli_connect("$db_Host","$db_username","$db_pass","$db_name") or die ("could not connect to mysql"); with reference to $myConnection, why do I get this error?

Merci

14
Aasim Azam

mysqli_error () a besoin de vous pour passer la connexion à la base de données en tant que paramètre. La documentation présente quelques exemples utiles:

http://php.net/manual/en/mysqli.error.php

Essayez de modifier votre ligne de problème comme ça et vous devriez être en bonne forme:

$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error($myConnection)); 
33
Jason

mysqli_error la fonction nécessite $myConnection comme paramètres, c'est pourquoi vous obtenez l'avertissement

5
user765525

Au début, le problème est dû au fait que vous n'avez mis aucun paramètre pour mysqli_error. Je peux voir qu'il a été résolu sur la base du post ici. Très probablement, le problème suivant est dû à un chemin de fichier incorrect pour le fichier inclus ...

Êtes-vous sûr que ce code

$myConnection = mysqli_connect("$db_Host","$db_username","$db_pass","$db_name") or die ("could not connect to mysql");

se trouve dans le dossier "scripts" et votre fichier de code principal est au même niveau que le dossier de script?

1
sicKo