Connexion php et mysql
Résolu
Utilisateur anonyme
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
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 -
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/