{MySQL} probleme mysql_query / mysql_connect

Résolu/Fermé
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011 - 9 juin 2009 à 09:29
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011 - 9 juin 2009 à 20:16
Bonjour, j'ai un problème avec la base de données lycos quand je mais ce code :
mysql_connect("INSERT INTO sondage (nom, resultat)". a la fin de mon formulaire quand je l'envoie il me dit "merci" cela veut dire qu'il a prie en compte la données, mais quand je vais dans ma base il y a pas de données

maintenant quand je mais ce code a la place :
mysql_query("INSERT INTO sondage (nom, resultat)".

quand je rempli le formulaire est que je clique sur envoyer ca me dit impossible d'envoyer a la base de données donc le quel de c'est 2 code je dois prendre et aussi comment les faire fonctionner ?
merci de votre aide

28 réponses

Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 09:33
Il me semble que mysql_connect() sert à se connecter à une base donc en paramètre ceux sont les informations de connexion et non une requête qu'il faut que tu passes.

Ensuite tu pourras effectuer ta requête avec mysql_query() avec comme paramètre ta requête.
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 09:44
quand du parle de paramètre tu parle de ca :

mysql_pconnect($serveur, $utilisateur , $motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");


$pseudo = $_POST["pseudo"];
$choix = $_POST["choix"];

mysql_connect("INSERT INTO sondage (nom, resultat)".
" VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage");
echo "Merci";
?>
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 09:49
Ouais sauf que : mysql_connect("INSERT INTO sondage (nom, resultat)".
" VALUES ('$pseudo', '$choix' ) ")

ca me chagrine ^^
Ce serait plutôt mysql_query(....
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 09:53
je me dit ca aussi mais quand je mais mysql_query quand j'envoie les données ca me dit le sondage n'a pas pu être envoyer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 09:54
voici mes codes :


voici mes codes:
<?php
$serveur = "localhost";
$utilisateur = "belma84000";
$motDePasse = "meh280286";
$base = "iciturquie_db";


mysql_pconnect($serveur, $utilisateur , $motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");


$pseudo = $_POST["pseudo"];
$choix = $_POST["choix"];

mysql_connect("INSERT INTO sondage (nom, resultat)".
" VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage");
echo "Merci";
?>

ensuite:

<html>
<head>
<title>Sondage mon site !</title>
</head>
<body>
<h2>Comment avez-vous découvert mon site ?</h2>
<form method="post" action="sondage.php">
<input type="radio" name="choix1" value="presse" />Par la presse spécialisée<br />
<input type="radio" name="choix2" value="annuaire" />Par un annuaire<br />
<input type="radio" name="choix3" value="moteur" />Par un moteur de recherche<br/>
<input type="radio" name="choix4" value="forum" />Par un forum<br />
<input type="radio" name="choix5" value="news" />Par les info<br />
<input type="radio" name="choix6" value="ami" />Par un ami<br />
<input type="radio" name="choix7" value="autre" />Autre<br />
Merci de laisser votre pseudo:
<input type="text" name="pseudo" /><br />
<input type="submit" />
</form>
</body>
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 10:06
J'vois pas trop, mise à part le connect, ton code à l'air correct.

Essaye de déterminer d'où vient l'erreur, SQL ou autre et une description plus détaillé de l'erreur. Si c'est SQL donne le code d'erreur et le message par exemple.
0
dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 67
9 juin 2009 à 10:06
Bonjour,

Effectivement, il faut faire dans l'ordre :
1/ mysql_connect -> pour se connecter au serveur
2/ mysql_select_db -> pour spécifier la base sur laquelle on va travailler
3/ mysql_query -> pour éxecuter une requête

Passer une requête à mysql_connect ne peut pas fonctionner :)

Si mysql_query ne fonctionne pas, c'est peut être qu'il y a une erreur dans la requête : tu peux le savoir via par ex (ca t'affichera l'erreur SQL)
mysql_query("INSERT INTO sondage (nom, resultat)"." VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage : ".mysql_error()); 

Pour rappel,
- ce mode (die avec l'erreur) n'est PAS bon pour un site en prodcution, car il donne à l'internaute presque tout ce qu'il faut pour tenter de pirater le site ...
- il FAUT protéger les données postées via mysql_real_escape_string pour éviter les injections SQL ...
Mais c'est un autre sujet :)
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 10:34
ca ne marche pas les message est :Impossible d'insérer le résultat du sondage
<?php
$serveur = "localhost";
$utilisateur = "belma84000";
$motDePasse = "meh280286";
$base = "iciturquie_db";


mysql_pconnect($serveur, $utilisateur , $motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");


$pseudo = $_POST["pseudo"];
$choix = $_POST["choix"];

mysql_query("INSERT INTO sondage (nom, resultat)".
" VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage");
echo "Merci";
?>
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 10:44
C'est ta requête "INSERT INTO sondage (nom, resultat)"." VALUES ('$pseudo', '$choix' ) " qui déconne alors. Essaye de vérifier la syntaxe par rapport à ta BD (champs, table, etc).

Et suit le conseil de dam75 et utilise ce code pour ta requête histoire de connaître le vrai problème.
mysql_query("INSERT INTO sondage (nom, resultat)"." VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage : ".mysql_error());
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 10:49
voici le message :Impossible d'insérer le résultat du sondage : Unknown column 'nom' in 'field list'
apres avopr mie le code de dam75
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 10:54
Bah voilà t'as ta réponse, il ne trouve pas la colonne nom dans ta table. Tu es sûr que c'est le même orthographe ?
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 10:57
voici ma table :
[ Afficher ] [ Sélectionner ] [ Insérer ] [ Vider ] [ Supprimer ]
Champ Type Attributs Null Défaut Extra Action
choix1 tinyint(4) Non 0 Modifier Supprimer Primaire Index
choix2 tinyint(4) Non 0 Modifier Supprimer Primaire Index
choix3 tinyint(4) Non 0 Modifier Supprimer Primaire Index
choix4 tinyint(4) Non 0 Modifier Supprimer Primaire Index
choix5 tinyint(4) Non 0 Modifier Supprimer Primaire Index
choix6 tinyint(4) Non 0 Modifier Supprimer Primaire Index
choix7 tinyint(4) Non 0 Modifier Supprimer Primaire Index
pseudo tinyint(4) Non 0 Modifier Supprimer Primaire Index
Pour la sélection : Pour la sélection : Ou

Espace utilisé :
Type Espace
Données 0 Octets
Index 1 024 Octets
Total 1 024 Octets
Statistiques :
Information Valeur
Format fixe
Enregistrements 0
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 10:59
Tu vois une colonne "nom" à un endroit toi ? Et résultat aussi tu m'diras... C'est quoi ta base là ?
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 11:01
c la base de lycos de la merde je change nom par champ
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 11:08
regarde la page de ma base

Base de données iciturquie_db - table sondage

[ Afficher ] [ Sélectionner ] [ Insérer ] [ Vider ] [ Supprimer ]
Champ Type Attributs Null Défaut Extra Action
choix1 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix2 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix3 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix4 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix5 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix6 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix7 tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
pseudo tinyint(4) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
Pour la sélection : Pour la sélection : Ou

Espace utilisé :
Type Espace
Données 0 Octets
Index 1 024 Octets
Total 1 024 Octets
Statistiques :
Information Valeur
Format fixe
Enregistrements 0

*
Version imprimable
*
Exécuter une ou des requêtes sur la base iciturquie_db [Documentation] :
SELECT * FROM `sondage` WHERE 1
Réafficher la requête après exécution
Ou Emplacement du fichier texte :

*
Ajouter un champ :
*
Insérer un fichier texte dans la table
*
Afficher le schéma de la table
Structure seule
Structure et données
Données seulement
Données CSV pour Ms Excel
Données CSV :
Champs terminés par
Champs entourés par
Caractère spécial
Lignes terminées par Ajouter des énoncés "drop table"
Insertions complètes
Insertions étendues
Protéger les noms des tables et des champs par des "`"

Transmettre ( "gzippé" )
Premier enregistrement -- nb. d'enregistrements
*
Changer le nom de la table pour :

Copier la table vers (Base de données.table) :
.
Structure seule
Structure et données
*
Maintenance de la table : Vérifier la table [Documentation] - Analyser la table [Documentation]
Réparer la table [Documentation] - Optimiser la table [Documentation]

*
Commentaires sur la table :
*
Table en format : [Documentation]
* Supprimer la table sondage
0
Thread Messages postés 298 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 9 juin 2009 35
9 juin 2009 à 11:13
T'essaye d'insérer des valeurs dans les champs "nom" et "resultat" or ils n'existent pas...
Il te faut donc les créer.
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 11:31
j'ai réussi a avoir "merci" en créant une ligne résultat et pour le non j'ai mie choix1 regarde:

mysql_query("INSERT INTO sondage (choix1, resultat)"." VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage : ".mysql_error());
echo "Merci";
?>


peut me dire comment il faut configurer la base pour quel m'affiche les résultat d'un formulaire avec des boutons radio . parce que la base a reçus un enregistrement mais je ne vois pas le chois et le pseudo merci
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 11:45
voiles resultat qui ne s'affiche pas :

Affichage des enregistrements 0 - 2 (2 total)
requête SQL : [Modifier]
SELECT * FROM `sondage` LIMIT 0, 30


lignes à partir de

choix1 choix2 choix3 choix4 choix5 choix6 choix7 pseudo resultat
Modifier Effacer 0 0 0 0 0 0 0 0 0
Modifier Effacer 0 0 0 0 0 0 0 0 0


lignes à partir de


Insérer un nouvel enregistrement


Intitulé :
0
dam75 Messages postés 1041 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 67
9 juin 2009 à 14:39
oula c'est pas encore gagné ;)

TOUS tes champs sont des TINYINT, c'est à dire qu'ils ne peuvent contenir QUE des entiers numériques compris entre 0 et 255 (ou -127 à 127 si signed) ...
Or ca m'etonnerait que ton $pseudo soit un entier ? idem pour $choix ???

-> tu devrais essayer de modifier la structure de la table par exemple en déclarant des CHAR(30) ?

Et pour en avoir le coeur net modifie ton code en
mysql_query("INSERT INTO sondage (choix1, resultat)"." VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage : pseudo=$pseudo, choix=$choix".mysql_error()); 

Ca affichera ce que tu essaies d'insérer et on verra bien si ce sont des numériques ... mais je n'y crois pas :)
0
mehdi_84 Messages postés 103 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 4 janvier 2011
9 juin 2009 à 17:27
j'ai modifier mon code :

mysql_pconnect($serveur, $utilisateur , $motDePasse)
or die("Impossible de se connecter au serveur de bases de données.");
mysql_select_db($base)
or die("Base de données non trouvée.");

$pseudo = $_POST["pseudo"];
$choix = $_POST["choix"];

mysql_query("INSERT INTO sondage (choix1, resultat)"." VALUES ('$pseudo', '$choix' ) ")
or die("Impossible d'insérer le résultat du sondage : pseudo=$pseudo, choix=$choix".mysql_error());
echo "Merci";
?>

et voici ma table :


Base de données iciturquie_db - table sondage

[ Afficher ] [ Sélectionner ] [ Insérer ] [ Vider ] [ Supprimer ]
Champ Type Attributs Null Défaut Extra Action
choix1 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix2 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix3 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix4 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix5 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix6 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
choix7 varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
pseudo text Non Modifier Supprimer Primaire Index Unique Texte entier
resultat varchar(30) Non 0 Modifier Supprimer Primaire Index Unique Texte entier
Pour la sélection : Pour la sélection : Ou

et voici les resultat :


lignes à partir de

Textes complets choix1 choix2 choix3 choix4 choix5 choix6 choix7 pseudo resultat
Modifier Effacer belma84 0 0 0 0 0 0
Modifier Effacer mehdi84000 0 0 0 0 0 0
Modifier Effacer Rolls-game 0 0 0 0 0 0

les pseudo ce mette dans choix1 et il n'y a rien dans resultat et pseudo et aussi il y a que des 0
0