CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[aide] Probleme Insert Into php/mysql

Seeone
Seeone
Niveau 7
21 juillet 2014 à 11:21:50

Bonjour,

Je m'entraine sur un petit projet de site web pour améliorer mon niveau php/mysql et j'ai rencontré un petit probleme, je n'arrive pas à enregistrer des donnees dans ma base de donnees.

Voici le bout de code où je pense qu'il y a erreur: http://pastebin.com/1uuDStTf

Merci :)

Pseudo supprimé
Pseudo supprimé 21 juillet 2014 à 11:46:11

Salut,

dans ton INSERT INTO (à la ligne 11 de ton pastebin), tu spécifies comme nom de colonne 'id' et 'prenom' alors que dans tes values tu ne leur donne pas de valeur.
En gros, tu ne donnes pas le même nombre de colonne dans ta parenthèse de gauche que dans ta parenthèse de droite, donc c'est le bordel pour MySql qui ne comprend rien à ta requête :)

Ta requête devrait ressembler à ceci:
mysql_query("INSERT INTO allannonces (service, ville, prenom, jours, telephone, email, annonce) VALUES ('$service', '$ville', '$prenom','$jours', '$telephone', '$email','$annonce')");

Petits trucs:

Pas besoin de spécifier l'id si ta colonne est en auto-increment
isset() accepte plusieurs variables ( https://www.jeuxvideo.com/forums/1-30-7921730-1-0-1-0-php-isset-accepte-plusieurs-variables.htm )
Utilise dés a présent PDO à la place des fonctions mysql qui sont obsolètes

Seeone
Seeone
Niveau 7
21 juillet 2014 à 12:04:38

Jai modifié cette requète mais ça n'enregistre toujours pas :(

Peut etre que cest ici :
mysql_connect("localhost", "root", "monmdp");
mysql_select_db("nom_de_ma_base_de_donnees");

Je dois le remplacer par ca?:
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);

$dbh = new PDO($dsn, $username, $password, $options);

Seeone
Seeone
Niveau 7
21 juillet 2014 à 12:17:47

Peut etre que le html est aussi source d'erreur: http://pastebin.com/ZCPxfsdP

yes-man
yes-man
Niveau 13
21 juillet 2014 à 13:06:50

PDO ça s'utilise de A à Z, ça se ne mixe pas avec les mysql(i)_
Donc faut que tu fasses TOUT façon PDO

-> La connexion
-> La requête et l'execution

Seeone
Seeone
Niveau 7
21 juillet 2014 à 13:26:51

Et dans mon cas, quelles requetes faut il que j'utilise?

Seeone
Seeone
Niveau 7
21 juillet 2014 à 14:08:57

J'ai essayé ça: http://pastebin.com/iTdAsHCt

Mais ca ne marche pas... Quelqu'un sait où est l'erreur ou comment je peux faire pour enregistrer tout ca dans ma database?

Merci d'avance

Diabolo09
Diabolo09
Niveau 10
22 juillet 2014 à 12:42:56

Teste avec des "or die"

Genre :

mysql_connect($serveur,$login,$mdp) or die ("serveur de base de données injoignable");
mysql_query($sql) or die(mysql_error($sql)).

Ça devrait t'aider à situer l'erreur.

Seeone
Seeone
Niveau 7
22 juillet 2014 à 22:24:45

Merci je vais essayer :)

Pseudo supprimé
Pseudo supprimé 23 juillet 2014 à 16:59:14

Pourquoi faire un mysql connect quand tu as Pdo qui existe et qui est bien mieux sécurisé ?
http://fr.openclassrooms.com/informatique/cours/pdo-interface-d-acces-aux-bdd

Seeone
Seeone
Niveau 7
23 juillet 2014 à 21:38:42

Voila mon nouveau code : http://pastebin.com/mkUg5CSr
+ http://pastebin.com/yw1wmerP

Mais il ne marche toujours pas :(
Je ne voie pas l'erreur. :-(

Jvousmanipule
Jvousmanipule
Niveau 9
24 juillet 2014 à 12:29:19

Tu as un id qui s'auto incrémente ?
Rajoute allannonces(id,ville, prenom, telephone, email, annonce) VALUES(:id, :ville, :prenom, :telephone, :email, :annonce)'

$req->execute(array('id' => '', 'ville' => $_POST['ville'],
'prenom' => $_POST['prenom'...)

T'es pas obligé de mettre les : dans le array

Seeone
Seeone
Niveau 7
24 juillet 2014 à 22:45:27

Merci pour le conseil :)
Mais en fait c'est juste avec wamp en local que ça ne marche pas :( J'ai souscrit à une offre d'hébergement gratuit et les données sont insérées dans la bdd.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment