Warning: mysqli_close() expects parameter 1 to be mysqli

Résolu/Fermé
Emilie - Modifié le 30 avril 2017 à 13:42
 Utilisateur anonyme - 30 avril 2017 à 16:06
Bonjour,

Je débute en php, et j'ai un projet à faire pour les cours, nous n'avons pas vraiment été guidé pour apprendre à utiliser le php, si ce n'est qu'on nous a balancé un tas de fonctions à recopier bêtement. Bon jusqu'à là je m'en sortais bien, j'ai réussi comprendre ce que je copiais, modifier pour certaines erreurs...
Seulement voilà, j'ai donc mon fichier fonction.php, avec à la fin une fonction deconnectBD() mais il m'affiche l'erreur suivante : "Warning: mysql_close() expects parameter 1 to be resource, null given in C:\xampp\htdocs\PROJET\fonction.php on line 160"
Voici donc mon programme :

 
//Déconnexion de la base de donnée
function deconnectBD(){
 global $c;
 mysqli_close($c); //La fameuse ligne 160 de mon programme
} 


Et j'ai un problème identique à chaque que je fais appel à une fonction de type mysqli_machin

Exemple:
Erreur renvoyée : "Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\PROJET\fonction.php on line 43"
Code correspondant:

//CREATION D'UNE TABLE
function creationTable (){
 global $c;
 global $table;
 $str = "(ligne int(2), ";
 $f = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
 $s = count($f);
 for($i=0;$i<$s;$i++){
  $str .= $f[$i] ."varchar(2) NULL";
  if($i == $s-1){
   $str .= ")";
   break;
  }else{
   $str .= ", ";
  }
 }
 $q = "CREATE TABLE" . $table . $str; 
 echo $q . ";</br>";
 mysqli_query($c, $q);  // La fameuse ligne 43 de l'erreur 
 $str = "";
 for($i;$i<=$s;$i++){
  $str .= "(" . $i . ")";
  if($i == $s){
   break; 
  }else{
   $str .= ", ";
  }
 } 
 $q = "INSERT TO $table  (ligne) VALUES " . $str;
 echo $q . ";</br>";
 mysqli_query($c, $q);
}



Merci beaucoup d'avance pour les réponses, je précise que j'utilise Xampp. :)
Je précise aussi que j'ai regardé pleins de post à ce sujet avant d'en poster un mais je n'ai trouvé une solution nul part :/



4 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
30 avril 2017 à 13:59
C'est que votre variable « $c » n'est pas défini comme une connexion à mysql.

Celle-ci devrai être quelque chose comme :
mysqli_connect("localhost", "mon_pseudo", "mon_mot_de_passe", "ma_base_de_donnees")