Les Allergies
Alimentaires
Posez votre question Signaler

Ajax -> MySQL [Résolu]

pat - Dernière réponse le 13 févr. 2012 à 12:13
Bonjour,
Je ne comprend pas pourquoi les champs lat et lng de ma table "location" restent vide :-( j'ai essayer des dizaines et des dizaines de combinaisons et de syntaxes différentes, en espérant réussir par tâtonnement, mais sans résultats. Je désespère... :-( Des idées ?
Version MySQL : 5.5.16, PHP : 5.3.8
Code ajax :
 $.ajaxSetup({ 
               url: "insert-in-bdd.php", 
               type: "POST", 
            }); 
            $.ajax({ 
    data: 'latitude='+latitude+'&longitude='+longitude,        
    success: function (msg) { 
                alert (msg);}, 
    error: function (XMLHttpRequest, textStatus, errorThrown) 
    {    
                alert('Error submitting request.');  
    } 
    });

Premier essai :
if(isset($_POST['latitude']) && isset($_POST['longitude'])){ 
  $latitude = ($_POST['latitude']); 
  $longitude = ($_POST['longitude']); 
  $db = mysql_connect(localhost, root, ""); 
  $select = mysql_select_db(madb, $db); 
  mysql_query('INSERT INTO location (lat,lng) 
               VALUES ("'.$latitude.'","'.$longitude.'")'); 
 }

Deuxième essai avec PDO + requête préparée :
if(isset($_POST['latitude']) && isset($_POST['longitude'])){ 
 $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; 
    $bdd = new PDO('mysql:host=localhost;dbname=madb', 'root', ''); 
 $req = $bdd->prepare('INSERT INTO location(lat, lng) VALUES(:latitude, :longitude)'); 
 $req->execute(array( 
 'latitude' => $_POST['latitude'], 
 'longitude' => $_POST['longitude'] 
 )); 
    }
Lire la suite 

Ajax -> MySQL »

4 réponses
Réponse
+1
moins plus
Salut,

As-tu essayé de débugger ton script avec Firebug (Mozilla Firefox) ?

La page 'insert-in-bdd.php' est-elle bien appelée ? Les variables POST sont-elles bien transmise ?

C'est utile pour voir rapidement d'où vient le problème.
pat - 13 févr. 2012 à 10:43
Bonjour afrnos, j'ai debuggé avec un var dump $_POST. Je me suis aperçu que mon array ne contenait qu'une seule entrée. En modifiant le code du 2ème script php pour n'insérer qu'une seule entrée, le script à fonctionné. Aléluia. En tout cas merci de tas réponse (la prochaine fois j'essayerai avec firebug).
pat - 13 févr. 2012 à 10:45
Je ne trouve pas comment marquer le sujet comme "résolu".
afrnos- 13 févr. 2012 à 12:13
Content que tu ais pu trouver la solution à ton problème !
Je ne sais pas non plus pour résolu, j'aurai imaginé que ça situe dans l'en-tête du premier post.
Ajouter un commentaire
Ce document intitulé « Ajax -> MySQL » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?