Connexion php et mysql

Résolu/Fermé
Utilisateur anonyme - Modifié par jordane45 le 30/12/2014 à 09:20
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 30 déc. 2014 à 10:07
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

Utilisateur anonyme
30 déc. 2014 à 08:23
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
Utilisateur anonyme
30 déc. 2014 à 09:29
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
Utilisateur anonyme
30 déc. 2014 à 09:36
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié par jordane45 le 30/12/2014 à 09:42
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
Utilisateur anonyme
30 déc. 2014 à 09:49
Merci je vais tester immédiatement je vous tiendrez au courant pour la suite.merci
0
Utilisateur anonyme
30 déc. 2014 à 10:06
Merci beaucoup ça a marché avec mysqli_.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Utilisateur anonyme
30 déc. 2014 à 10:07
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