Ajax -> MySQL

Résolu/Fermé
pat - Modifié par pat le 12/02/2012 à 18:30
afrnos Messages postés 59 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 12 avril 2012 - 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'] 
 )); 
    }

1 réponse

afrnos Messages postés 59 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 12 avril 2012 16
13 févr. 2012 à 10:36
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.
1
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).
0
Je ne trouve pas comment marquer le sujet comme "résolu".
0
afrnos Messages postés 59 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 12 avril 2012 16
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.
0