Problème insertion base SQL

Eléphanteau du PHP | 33 Messages

31 mai 2010, 21:49

Bonjour,

Je souhiate insérer des données de formulaires dans un base sql.

J'ai ce script qui correspond :
<?php

$dejaete = $_POST['dejaete'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$code = $_POST['code'];
$ville = $_POST['ville'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$amontjour = $_POST['amontjour'];
$amonthoraires = $_POST['amonthoraires'];
$vendredi = $_POST['vendredi'];
$vendredihoraires = $_POST['vendredihoraires'];
$samedi = $_POST['samedi'];
$samedihoraires = $_POST['samedihoraires'];
$apresjour = $_POST['apresjour'];
$apreshoraires = $_POST['apreshoraires'];
$groupes = $_POST['groupes'];
$comdispo = $_POST['comdispo'];
$experience = $_POST['experience'];

$connexion = mysql_connect("host","id","mdp");
mysql_select_db("base",$connexion);

$requete = "INSERT INTO benevoles (no, dejaete, nom, prenom, adresse, code, ville, telephone, email, amontjour, amonthoraires, vendredi, vendredihoraires, samedi, samedihoraires, apresjour, apreshoraires, groupes, comdispo, experience) VALUES ('','$dejaete','$nom','$prenom','$adresse','$code','$ville','$telephone','$email','$amontjour','$amonthoraires','$vendredi','$vendredihoraires','$samedi','$samedihoraires','$apresjour','$apreshoraires','$groupes''$comdispo''$experience')";
mysql_query($requete);

mysql_close();
?>
cela me renvoi l'erreur suivante :

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /homez.158/festivalhu/www/envoi.php on line 77

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /homez.158/festivalhu/www/envoi.php on line 78

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.158/festivalhu/www/envoi.php on line 81

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /homez.158/festivalhu/www/envoi.php on line 81

Warning: mysql_close(): no MySQL-Link resource supplied in /homez.158/festivalhu/www/envoi.php on line 83

Est-ce que quelqu'un peut m'eclairer ?
Je suis sur une base Free, et les identifiants sont OK.

Merci !! :)
Modifié en dernier par rouly67 le 08 juin 2010, 01:16, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2010, 22:23

Le problème provient de ton appel à mysql_connect() (tous les autres messages d'erreur en découlent, puisqu'il n'arrive pas à se connecter, il ne peut pas sélectionner de base exécuter de requête ou fermer la connexion)

Es-tu sur que les valeurs des "host","id" et "mdp" sont correctes ?
Chez free, l'host doit être "sql.free.fr", l'id et le mdp doivent correspondre à tes identifiants free.

Est-ce que cela fonctionne si tu te connectes avec phpmyadmin ? (http://sql.free.fr)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 33 Messages

01 juin 2010, 08:13

oui justement en passant directement par sql.free.fr ca marche pas de soucis !

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2010, 13:15

oui justement en passant directement par sql.free.fr ca marche pas de soucis !
Et alors c'est résolu ?

Eléphanteau du PHP | 33 Messages

02 juin 2010, 13:26

Non j'ai pas trouvé de soluce et j'vois vraiment pas ou ca peut bloquer :(

ViPHP
ViPHP | 5462 Messages

02 juin 2010, 13:31

Non j'ai pas trouvé de soluce et j'vois vraiment pas ou ca peut bloquer :(
montre le dernier code en cours

Eléphanteau du PHP | 33 Messages

02 juin 2010, 14:04

<?php
$dejaete = $_POST['dejaete'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$code = $_POST['code'];
$ville = $_POST['ville'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$amontjour = $_POST['amontjour'];
$amonthoraires = $_POST['amonthoraires'];
$vendredi = $_POST['vendredi'];
$vendredihoraires = $_POST['vendredihoraires'];
$samedi = $_POST['samedi'];
$samedihoraires = $_POST['samedihoraires'];
$apresjour = $_POST['apresjour'];
$apreshoraires = $_POST['apreshoraires'];
$groupes = $_POST['groupes'];
$comdispo = $_POST['comdispo'];
$experience = $_POST['experience'];

$connexion = mysql_connect("sql.free.fr","id","mdp");

mysql_select_db("base",$connexion);

$requete = "INSERT INTO benevoles (no, dejaete, nom, prenom, adresse, code, ville, telephone, email, amontjour, amonthoraires, vendredi, vendredihoraires, samedi, samedihoraires, apresjour, apreshoraires, groupes, comdispo, experience) VALUES ('','$dejaete','$nom','$prenom','$adresse','$code','$ville','$telephone','$email','$amontjour','$amonthoraires','$vendredi','$vendredihoraires','$samedi','$samedihoraires','$apresjour','$apreshoraires','$groupes''$comdispo''$experience')";

mysql_query($requete);
mysql_close();
?>
Retour...

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /homez.158/festivalhu/www/envoi.php on line 77

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /homez.158/festivalhu/www/envoi.php on line 78

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.158/festivalhu/www/envoi.php on line 81

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /homez.158/festivalhu/www/envoi.php on line 81

Warning: mysql_close(): no MySQL-Link resource supplied in /homez.158/festivalhu/www/envoi.php on line 83

Comme dis en passant par MySQL Free pas de soucis, et dans le code je ne vois pas d'ou peut provenir l'erreur......
Modifié en dernier par rouly67 le 08 juin 2010, 01:17, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 juin 2010, 21:50

Hum... quand tu fais appel à ton script, celui-ci se trouve bien sur le serveur de free ou bien est-ce que tu tentes de te connecter à la base de données free depuis un serveur installé chez toi ? (cette seconde option n'étant pas autorisée par free qui n'accepte que les connexions locales)

Ps : pense à utiliser les balises
 quand tu postes du code php sur le forum :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 00:11

y'a rien qui te choque la dedan ?
mysql_connect("sql.free.fr","id","mdp");
je doute que ton login de free soit : id et que le mot de passe soit : mdp :shock:

Eléphanteau du PHP | 33 Messages

03 juin 2010, 09:40

Ben ouai mais je vais pas donner mes identifiants sur un forum, bien sur que j'ai mis les bons dans mon script en ligne... Héhé ! :lol:

Eléphanteau du PHP | 33 Messages

03 juin 2010, 09:43

Hum... quand tu fais appel à ton script, celui-ci se trouve bien sur le serveur de free ou bien est-ce que tu tentes de te connecter à la base de données free depuis un serveur installé chez toi ? (cette seconde option n'étant pas autorisée par free qui n'accepte que les connexions locales)

Heu... ? Ben il est ma base est en ligne sur une base sql free, et mon site est hébergé chez OVH...
C'est peut etre ca la problème il faut que je mette ma base chez OVH, ou tout chez free c'est ca ????

Ps : pense à utiliser les balises
 quand tu postes du code php sur le forum :)[/quote][/quote]

 ?? :roll:

ViPHP
ViPHP | 5462 Messages

03 juin 2010, 10:20

Ben ouai mais je vais pas donner mes identifiants sur un forum, bien sur que j'ai mis les bons dans mon script en ligne... Héhé ! :lol:
ah je préfère :mrgreen:

mais tu devrais faire
mysql_connect("sql.free.fr","id","mdp") or exit(mysql_error());
pareil pour mysql_select_db et mysql_query

Eléphanteau du PHP | 19 Messages

03 juin 2010, 11:07

Quand tu exécutes ton script, met-il longtemps (genre 10 secondes) à t'afficher les erreurs, ou ca s'affiche immédiatement ?

Eléphanteau du PHP | 33 Messages

03 juin 2010, 11:20

Ca mets un petit moment effectivement...

Eléphanteau du PHP | 19 Messages

03 juin 2010, 11:33

Essaye peut-être de te connecter avec localhost ?

Sinon ca pourrait être un problème de résolution DNS, auquel cas faudrait retrouver l'ip associée à sql.free.fr