Ajax -> MySQL

Résolu
pat -  
afrnos Messages postés 61 Statut Membre -
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. afrnos Messages postés 61 Statut Membre 16
     
    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
    1. pat
       
      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
    2. pat
       
      Je ne trouve pas comment marquer le sujet comme "résolu".
      0
    3. afrnos Messages postés 61 Statut Membre 16
       
      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