Warning: mysqli_select_db() expects parameter 1 to be my..

Fermé
Signaler
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
-
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
-
bonjour ,
je travaille avec php 4 et il y a des fonctions qui sont obsolète telque mysql_escape_string() j'ai cherche sur google j'ai trouve qu'il faut changer a mysqli ou pdo ,j'ai essayé mysql_real_escape mais aussi ça ne marche pas aussi que mysqli_escape_string() il m'affiche ces erreur :

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\wamp\www\stage\inscriptioncode.php on line 22

Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in C:\wamp\www\stage\inscriptioncode.php on line 25

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\stage\inscriptioncode.php on line 26

et voila la page php qui il contient ses erreurs la :

<?php session_start(); If(!defined('VIEWABLE')) {die('You are not allowed to view this page'); } ?> 

 <h2><span><a href="#">Welcome <?php if(isset($_SESSION["id"]))echo $membername; ?></a></span><a href="deconnection.php">[Deconnexion]</a></h2>
            <p class="info noprint"> </p>

                
          <?php
If (!empty($memberid) && !empty($membername))
{
    die('You are already logged in as '.$membername.'. <a href="deconnection">Deconnection?<a>');
}
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
 // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
 if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
 // on teste les deux mots de passe
 if ($_POST['pass'] != $_POST['pass_confirm']) {
  $erreur = 'Les 2 mots de passe sont différents.';
 }
 else {
  $base = mysqli_connect ('localhost', 'root', '');
  mysqli_select_db ('stage', $base);

  // on recherche si ce login est déjà utilisé par un autre membre
  $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
  $req = mysqli_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  $data = mysqli_fetch_array($req);

  if ($data[0] == 0) {
  $sql = 'INSERT INTO membre VALUES("", "'.mysqli_escape_string($_POST['login']).'", "'.mysqli_escape_string(md5($_POST['pass'])).'","")';
  mysqli_query($sql) or die('Erreur SQL !'.$sql.'<br />'.@mysql_error());
if($req)
{
  $idmembre= mysql_insert_id(); 
 
 }
  session_start();
  $_SESSION['login'] = $_POST['login'];
  include_once('deconnection.php');
  header('Location: membre.php');
  exit();
  }
  else {
  $erreur = 'Un membre possède déjà ce login.';
  }
 }
 }
 else {
 $erreur = 'Au moins un des champs est vide.';
 }
}
?>
Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>

merci pour votre aide :)
A voir également:

2 réponses

Messages postés
2650
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2022
485
Salut,

Les messages Deprecated sont effectivement des avertissements.

Néanmoins les erreurs Warning sont des problèmes d'exécution de votre code :

- Warning: mysqli_select_db() expects parameter 1 to be mysqli
-> le premier paramètre de mysqli_select_db() doit être la ressource mysqli, soit :
mysqli_select_db ($base, 'stage');


- Warning: mysqli_query() expects at least 2 parameters, 1 given
-> mysqli_query() attend 2 paramètres, dont le premier est la ressource mysqli :
$req = mysqli_query($base, $sql);


https://www.php.net/manual/fr/class.mysqli.php

Bonne journée
2
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
c'est comme j'ai fait :/ ce que vous m'avez ecrit c'est comme j'ai fait
0
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
ceci est l'erreur afficher lorsque j'ai ajouté un parametre :Erreur SQL !
SELECT count(*) FROM membre WHERE login="hamdi"
0
Messages postés
6651
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 317
Bonjour,

Ce sont des "warning", des avertissements. On vous prévient que ces fonctions vont disparaître. Mais elles ne disparaîtront que si vous upgradez votre serveur et le PHP qui est dessus.

Sinon, pour le moment, ça fonctionne. Donc, pas de panique.

A+
0
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
bonjour ,
merci ^_^ mais pouvez vous m'expliquer quoi veut dire "upgradez votre serveur et le PHP qui est dessus. " ?
0
Messages postés
2650
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
13 janvier 2022
485
Upgradez votre serveur php = mettre à jour la version de php
0
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
ah ok je veux essayer merci :)
0
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
les mêmes erreur :(
0