bonjour j'ai un souci pour faire connecter ma base de données mysql avec un formulaire PHP
Je voudrais bien un exemple bien "détaillé" sur ce genre de connexion
merci d'avance
bonjour j'ai un souci pour faire connecter ma base de données mysql avec un formulaire PHP
Je voudrais bien un exemple bien "détaillé" sur ce genre de connexion
merci d'avance
Vous devriez trouver les informations dont vous avez besoin parmi les tutoriels que nous proposons :
Et aussi les cours et tutoriels PHP.
Nous restons à votre disposition en cas de questions ou si vous rencontrez des difficultés lors de leur application.
désolé de ne pas trop detaillé ...
mais en fait j ai un fourmulaire en PHP que j ai creé a laide de dreamweaver et une base de donnée avec mysql "myphpadmin" tous ce que j ai maintenant c'est un fichier .frm de la base et la je suis coincé a essayer de connecter la base avec mon fourmulaire que dois je faire excatement .....
merci pour votre reponse ...
Montrez nous comment vous vous y prenez actuellement.
MySQL s'interroge par le réseau (ce qui peut être simulé mais passons ces détails). Vous devez laisser les fichiers *.frm et autres à MySQL, c'est dans ceux-ci qu'il y écrit les données, les index, les structures, etc. Une intervention de votre part sur ces fichiers pourraient entraîner une perte totale ou partielle de vos données voir plus grave.
On interagit avec MySQL via l'API qu'elle offre. PHP en propose plusieurs (PDO, mysqli, mysql) mais prenons la plus courante : mysql. Avant d'envoyer vos requêtes vous devez vous y connecter avec la fonction mysql_connect. Elle attendera de vous au moins : l'hôte, le login et le mot de passe :
Par commodité, sélectionnez ensuite la base de données à utiliser par défaut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_connect('localhost', 'root', '') or die(mysql_error()); // Paramètres de connexion locaux avec les valeurs par défaut
Vous pouvez ensuite envoyer des requêtes (écrites en langage SQL) puis en traiter les réponses avant de mettre optionnellement fin à cette connexion à l'aide de mysql_close (PHP le fait automatiquement).
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_select_db('mysql') or die(mysql_error());
Un petit exemple un peu plus complet visant à lister les tables qui composent la base système mysql :
C'est ce qu'explique de façon plus détaillée le tutoriel : passer des requêtes MySQL en PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php // Connexion à la base mysql_connect('localhost', 'root', '') or die(mysql_error()); // Sélection d'une base par défaut mysql_select_db('mysql') or die(mysql_error()); // Envoi d'une requête $sql = mysql_query('SHOW TABLES') or die(mysql_error()); // Parcours du résultat while ($row = mysql_fetch_row($sql)) { echo $row[0] . '<br />'; } // Fin de la connexion mysql_close();![]()
j'ai suivi les consignes et voilà ce que j'ai réussi à faire :
si vous détectez une erreur et si vous avez quelques remarques à faire n'hésitez pas ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 <html > <head> <title>Document sans titre</title> </head> <body > <form method="post" action="add.php"> <p align="center"><font size="6">Fiche de Mise à jour </font></p> </form> <FORM method=post action="add.php"> <TABLE BORDER=0 width="1045"> <td></td> <td></td> <td></td> <td></td> <p> <TR> <TD width="214"><strong>nom</strong></TD> <TD width="239"><input name="nom" type=text ></TD> <td width="210"> </td> <td width="338"> </td> </TR> <SCRIPT LANGUAGE="JavaScript"> <!-- if (window.print) { document.write('<form>Cliquez ici pour ' + '<input type=button name=print value="Imprimer" ' + 'onClick="javascript:window.print()"> cette page!</form>'); } // --> </script> </TABLE> </FORM> <?php CREATE TABLE `info` ( `Id_nom` mediumint(8) unsigned NOT NULL auto_increment, `nom` varchar(25) NOT NULL default '', PRIMARY KEY (`Id_nom`), UNIQUE KEY `nom` (`nom`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 // On commence par récupérer les champs if(isset($_POST['nom'])) $raison_sociale=$_POST['nom']; else $nom=""; // On vérifie si les champs sont vides if(empty($nom) ) { echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>'; } // Aucun champ n'est vide, on peut enregistrer dans la table else { // connexion à la base $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('mise_a_jour',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = " $nom=$_POST['nom'] INSERT INTO infos_tbl(Id_nom, nom ,) VALUES('','$nom','nom')" ; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); mysql_close(); } ?> </body> </html>
ça c'est du code SQL ça n'a rien à faire tel quel dans du code PHP (mis à part pour déclencher une erreur de syntaxe).
Code X : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE `info` ( `Id_nom` mediumint(8) unsigned NOT NULL auto_increment, `nom` varchar(25) NOT NULL default '', PRIMARY KEY (`Id_nom`), UNIQUE KEY `nom` (`nom`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1
Au lieu de raison_sociale la variable ne devrait-elle pas s'appeler nom ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // On commence par récupérer les champs if(isset($_POST['nom'])) $raison_sociale=$_POST['nom']; else $nom="";
La requête est incorrecte syntaxiquement parlant pour commencer. Elle devrait plutôt être de cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // on écrit la requête sql $sql = " $nom=$_POST['nom'] INSERT INTO infos_tbl(Id_nom, nom ,) VALUES('','$nom','nom')" ;
Et pensez à l'avenir à nous donner les messages d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sql = "INSERT INTO infos_tbl(nom) VALUES('" . mysql_real_escape_string($nom) . "')";
![]()
Partager