PHP / MySQL requête Insert Into

Bonjour,

Je suis en train de travailler sur un projet, qui requière une base de donnée, et du PHP.
Je bloque actuellement sur un bout de code.
Je n'ai pas d'erreur, seulement, les entrés ne se mettent pas dans ma base de donnée.
Voici le code:

<?php
$req = $bdd->prepare('INSERT INTO match(competition, joueur1, joueur2, carte1, carte2, heure, accepte) VALUES(:competition, :joueur1, :joueur2, :carte1, :carte2, :heure, :accepte)');
$req->execute(array(
	'competition' => $_GET['idcompet'],
	'joueur1' => $_SESSION['username'],
	'joueur2' => $joueur2,
	'carte1' => $_POST['carte1'],
	'carte2' => $carte2,
	'heure' => $datemodif,
       'accepte' => $accepte
	));


Merci de vos réponses!

7 réponses

  1. "match" est un mot réservé de MySQL. Il va falloir y ajouter les apostrophes adéquates '' (AltGr+7)
    0
    1. Svp, personne?

      J'ai essayé autre chose, ce code:
      <?php 
      $db = new mysqli('serveur', 'identifiant', 'mdp', 'minefun') or die('Connexion à la base de donnée impossible');
      $req = $db->prepare("INSERT INTO match (competition, joueur1, joueur2, carte1, carte2, heure, accepte) VALUES ('$idcompet', '$joueur1', '$joueur2', '$carte1', '$carte2', '$datemodif', '0'") or die('Requete impossible');
      $req->execute();
      echo 'reussis!'; 
      ?>


      Bien entendu, les champs, serveur, identifiant et mdp sont d'oridinaire complétés, mais vu q'il s'agit d'un serveur en ligne.

      J'ai obtenu cette erreur:

      Warning: mysqli::prepare(): Couldn't fetch mysqli in /var/www/vhosts/minefun.free-h.fr/httpdocs/asgard/matchcree.php on line 351 Requete impossible


      Que se passe t'il?
      0
      1. Voila, j'ai tout reprogrammé, pourtant ma table est encore vide...
        Je n'ai aucune erreur, comment c'est possible? Ma table bug?
        0
        1. Contributeur
          Met ceci en debut de tes pages pour afficher toutes les erreurs:

          <?php
          ini_set('display_errors', 1);
          error_reporting(E_ALL);
          ?>
          0
          1. Ok, je fais ca, merci
            0
          2. message erreur: 1 Notice: Undefined variable: _SESSION in /var/www/vhosts/minefun.free-h.fr/httpdocs/asgard/matchcree.php on line 468 Absentcarte1non définieSunday 22 July 2012 00:25:010 Notice: Undefined variable: _SESSION in /var/www/vhosts/minefun.free-h.fr/httpdocs/asgard/matchcree.php on line 488
            0
          3. Je pense avoir oublié le session start, non?
            0
          4. j'arrete pour ce soir, merci de votre aide, je vais tout rerererecoder demain, bonne nuit;)
            0
        2. Tout d'abord, merci de ta réponse aussi rapide.

          J'ai essayé ce que tu m'as dis, seulement, j'obtiens toujours la meme chose, pas d'erreur, juste que rien ne s'affiche dans ma table.

          Je pense de plus en plus a une erreur dans mon SQL, non?
          0
          1. Je vais essayer d'afficher toutes les variable a coté, voir si le problème ne vient pas de la. je te tiens au courant.
            0
          2. Je pense que j'ai un probleme dans les variables. Je regarde ca
            0
        3. Salut,

          As-tu essayé:

          $req = $bdd->prepare('INSERT INTO match(competition, joueur1, joueur2, carte1, carte2, heure, accepte) VALUES(?, ?, ?, ?, ?, ?, ?)');

          $req->execute(array($_GET['idcompet'], $_SESSION['username'], $joueur2, $_POST['carte1'], $carte2, $datemodif, $accepte));

          Bonne chance
          0
          1. Svp, help
            Je vous joins un lien avec le screen de ma base de donnée: http://image.noelshack.com/fichiers/2012/29/1342906529-sql.png
            Merci
            0