Ajax -> MySQL

Résolu
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

  1. 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).
    2. Je ne trouve pas comment marquer le sujet comme "résolu".
    3. 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.