IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Requete sur mysql


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Requete sur mysql
    Bonjour,

    Je souhaite depuis hier faire un site pour répertorier des recettes de cuisine. Tout se passe bien sauf que la je bloque... Donc alors donc je voudrais pour ajouter une recette que tout mes ingrédients soient déjà contenu dans une table et faire un select avec ceux ci. Je me suis donc orienté vers un formulaire avec un textarea et a chaque ligne je fais correspondre un ingrédient.

    Donc voici le petit bout de code php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $a=explode("\n",$_POST['ing']);
    $nb_lignes= count($a);
    $query="INSERT INTO ingredients VALUES ( '".$a[0]."')";
    echo $query;
    $result=mysql_query($query);
    Donc on admet que je rentre seulement Fraise dans mon textarea, voila l'echo de la query.
    INSERT INTO ingredients VALUES ( 'Fraise ')
    Jusqu'ici tout me parait normal. De plus lorsque je vais dans phpmyadmin que je fais cette query la j'obtiens bien Fraise dans ma table. Mais lorsque mon script php éxécute cette commande, j'ai ceci de marqué dans ma table.
    "467261697365090909"
    Voila la configuration de ma colonne
    ingr varchar(200) utf8_bin
    Pourquoi alors s'il vous plait?

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    tu peux donner ta structure de table stp?

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Re
    Oui bien sur. C'est en pièce jointe.
    Images attachées Images attachées  

  4. #4
    Membre confirmé Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Points : 489
    Points
    489
    Par défaut
    Salut, je ne parviens pas à reproduire l'erreur.

    Mais un indice: il y a trois fois plus de chiffres que de lettres entre "Fraise" et "467261697365090909".

    Si j'étais sur ta machine j'essaierais de mettre ça dans un fichier PHP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mysql_connect('server','user','****');
    @mysql_select_db('nombdd') or die('Unable to select database');
    mysql_query("INSERT INTO ingredients VALUES ('marrrons');");
    mysql_close();
    et vérifier ce que dit phphmyadmin.
    aussi vérifier dans quel encodage est écrit le fichier php et le formulaire html

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Re
    Alors j'ai trouvé la solution, je ne sais pas trop encore ce que sa fais mais bon. Donc j'ai activé les logs php, et j'ai vu cette erreur:

    Jun 17 15:44:49 sd-28901 apache2: phpmyadmin: Failed to load /etc/phpmyadmin/config-db.php. Check group www-data has read access.

    Sachant que j'ai changé les groupes et utilisateur utilisé par le serveur apache.. C'est quand même un peu louche vu que j'avais une autre table 'users' et je n'avais aucune erreur de ce genre.

    Donc l'erreur est "résolu", j'ai fais un chmod 777 du fichier et maintenant les requête sql se font correctement, si quelqu'un est tout a fait contre cette résolution de soucis et qu'il a une autre solution plutôt que de faire bêtement un chmod 777, je suis preneur.

    Je laisse un peu ouvert le topic si quelqu'un peut expliquer a quoi sert ce fichier, et si une autre solution est possible.

    Cordialement

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    bon, cela changera pas surement le pb mais au moins je vais te proposer des alternatives de code plus simple à écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //en mysql
    $ing = $a[0];
    $query="INSERT INTO ingredients VALUES ( '$ing' )";
     
    //en PDO 
    $query="INSERT INTO ingredients VALUES ( :ing )";

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Re
    Si mon code marche depuis mon chmod mais je ne sais pas trop si cela est sécurisé.

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    a la fois, cela dépend de ce que tu préfère lire cad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query="INSERT INTO ingredients VALUES ( '".$a[0]."')";
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query="INSERT INTO ingredients VALUES ('$ing' )";
    et intuitivement tu prends la réponse la plus sécurisé non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14] Requetes sur MySQL distant
    Par Nyvad dans le forum WinDev
    Réponses: 5
    Dernier message: 27/07/2010, 17h56
  2. probleme de requete sur mysql
    Par rajaben dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/08/2008, 13h32
  3. exécuter une requete sur mysql
    Par benkunz dans le forum ASP.NET
    Réponses: 6
    Dernier message: 20/04/2007, 09h18
  4. créer une interface utilisateur console pour requetes sur mysql
    Par begonia dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/03/2007, 16h16
  5. Requete sur mysql emploie de mysql_fetch_array
    Par FoxLeRenard dans le forum Requêtes
    Réponses: 8
    Dernier message: 17/03/2006, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo