Connexion php et mysql

Résolu/Fermé
Signaler
Messages postés
32
Date d'inscription
vendredi 24 août 2012
Statut
Membre
Dernière intervention
12 mai 2020
-
Messages postés
34667
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2022
-
Bonjour,

je suis entrain de dévellopper ma petite application mais je rencontre un problème.pour être très clair voici mon petit code:
<!DOCTYPE>
<html>
<head>

</head>
<body>

<?php
echo "<h1>TEST</h1>";

if(isset($_POST['submit']))
{
  $nom =($_POST['nom']);
  $prenom = ($_POST['prenom']);
  $sexe =($_POST['sexe']);

  if($nom&&$prenom&&$sexe)
    {
     $connect=mysqli_connect('localhost','root','');
      mysql_select_db('test');
      $reg=mysql_query("INSERT INTO chat VALUES('$nom','$prenom','$sexe')");
      die('inscription terminee');
    }
    else echo "Veuillez saisir tous les champs";
}
?>

  <form method="POST" action="chat.php">
    <p>Votre nom</p>
    <input type="text" name="nom"/>
    <p>Prenom</p>
    <input type="text" name="prenom"/>
    <p>sexe</p>
    <input type="text" name="sexe"/><br/><br/>
    <input type="submit" name="submit" value="valider"/>
  </form>

</body>
</html>


le problème est que lorsque je valide ça m'amène ce message et j'ai essayé pour corriger mais en vin:

TEST


( ! ) Deprecated: mysql_select_db(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\chat.php on line 20
Call Stack
# Time Memory Function Location
1 0.0020 136704 {main}( ) ..\chat.php:0
2 0.0050 144008 mysql_select_db ( ) ..\chat.php:20
inscription terminee

EDIT : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


2 réponses


Bonjour

Tu as mélangé les fonctions mysqli_ et mysql_ :
$connect=mysqli_connect('localhost','root','');
mysql_select_db('test');

Comme le dit le message, il ne faut plus utiliser les fonctions mysql_ (et surtout pas mélanger les genres). Tu peux utiliser mysqli à la place, mais la syntaxe des fonctions n'est pas exactement la même.
Tu n'as plus qu'à faire une recherche sur tous les mysql_ de ton projet et les remplacer par des appels à mysqli_ en vérifiant bien la syntaxe dans la documentation :
https://www.php.net/manual/fr/book.mysqli.php
0
Messages postés
32
Date d'inscription
vendredi 24 août 2012
Statut
Membre
Dernière intervention
12 mai 2020

Merci de ta réponse mais le problème est que je ne trouve pas l'équivaalent de mysql_select_db avec mysqli.Et si j'utilise mysql ça me montre ce message disant qu'il faut utiliser mysqli ou PDO et je ne me trouve pas.
0
Messages postés
32
Date d'inscription
vendredi 24 août 2012
Statut
Membre
Dernière intervention
12 mai 2020

En plus,avec le code que j'ai donné dessus ça marche mais le message disant qu'il faut utiliser msqli ou PDO reste. Avec le lien que vous m'avez donné je ne me retrouve toujours pas
0
Messages postés
34667
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2022
3 990
Bonjour,

Comme il te l'a dit .. mysqli ne fonctionne pas tout à fait pareil que Mysql .....
La syntaxe est différente..... et .. il n'y a plus de select_db .. puisque c'est fait à la connexion directement.. !

On peut l'écrire de deux façons :
En procédural :
$link = mysqli_connect('IP_serveur', 'Utilisateur_mysql', 'mot_de_passe', 'nom_de_la_bbd');


En orienté objet :
$mysqli = new mysqli ('IP_serveur', 'Utilisateur_mysql', 'mot_de_passe', 'nom_de_la_bbd') ;


Bien sûr cela change aussi le code pour executer les requêtes :
En procédural :
$rq="select champ1 from table1";
$ressource=mysqli_query ($link,$rq); 

En orienté objet :
$rq="select champ1 from table1";
$ressource=$mysqli->query ($rq);


Pour le reste.... tu n'as qu'à suivre quelques tutos .. il en existe des tonnes sur le net.
Par exemple : http://christianelagace.com/php/mysqli-la-nouvelle-technique-pour-travailler-avec-une-base-de-donnees-mysql/
0
Messages postés
32
Date d'inscription
vendredi 24 août 2012
Statut
Membre
Dernière intervention
12 mai 2020

Merci je vais tester immédiatement je vous tiendrez au courant pour la suite.merci
0
Messages postés
32
Date d'inscription
vendredi 24 août 2012
Statut
Membre
Dernière intervention
12 mai 2020

Merci beaucoup ça a marché avec mysqli_.
0
Messages postés
34667
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2022
3 990 >
Messages postés
32
Date d'inscription
vendredi 24 août 2012
Statut
Membre
Dernière intervention
12 mai 2020

Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0