Connexion php et mysql
Résolu
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:
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
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 -
ModérateurBonjour,
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/-
-
-
Modérateur@Utilisateur anonymeSi 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
-