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

Fermé
touta_touta Messages postés 337 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 8 avril 2016 - Modifié par Chris 94 le 16/01/2015 à 19:02
touta_touta Messages postés 337 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 8 avril 2016 - 16 janv. 2015 à 20:56
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 :)

2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 545
16 janv. 2015 à 16:19
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
touta_touta Messages postés 337 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 8 avril 2016 6
16 janv. 2015 à 20:49
c'est comme j'ai fait :/ ce que vous m'avez ecrit c'est comme j'ai fait
0
touta_touta Messages postés 337 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 8 avril 2016 6
16 janv. 2015 à 20:56
ceci est l'erreur afficher lorsque j'ai ajouté un parametre :Erreur SQL !
SELECT count(*) FROM membre WHERE login="hamdi"
0