Problème syntaxe SQL en PDO
Fermé
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
-
15 juil. 2015 à 14:29
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 15 juil. 2015 à 19:57
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 - 15 juil. 2015 à 19:57
A voir également:
- Problème syntaxe SQL en PDO
- Logiciel sql - Télécharger - Bases de données
- Sql server recovery - Télécharger - Gestion de données
- Sql replace plusieurs valeurs - Forum Programmation
- Sql pix - Forum Python
- Trouver erreur de syntaxe fichier txt pix ✓ - Forum Programmation
20 réponses
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
Modifié par Firoxyd le 15/07/2015 à 14:39
Modifié par Firoxyd le 15/07/2015 à 14:39
Salut,
Je ne comprends pas
Pourquoi deux queries ?
Tu as essayé comme ceci ?
Je ne comprends pas
$retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes"); $donnees = $connexion->query($retour); $columns = $donnees->fetch();
Pourquoi deux queries ?
Tu as essayé comme ceci ?
$retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes"); $columns = $retour->fetch();
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
Modifié par Joomizu le 15/07/2015 à 14:46
Modifié par Joomizu le 15/07/2015 à 14:46
Merci de ton aide.
J'ai une page blanche :(
Voici le nouveau code:
J'ai une page blanche :(
Voici le nouveau code:
<?php try { $connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip=".$_SERVER['REMOTE_ADDR']); $donnees = $connexion->query($retour); if ($donnees['nbre_entrees'] == 0){ $connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES (:".$_SERVER['REMOTE_ADDR'].",:.time())");} else{ $connexion->exec("UPDATE connectes SET timestamp=' . time() . ' WHERE ip=".$_SERVER['REMOTE_ADDR']);} $timestamp_5min = time() - (60 * 5); $connexion->exec("DELETE FROM connectes WHERE timestamp < ".$timestamp_5min); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes"); $columns = $retour->fetch(); $nb = $columns['nbre_entrees']; echo "".$nb.""; } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?>
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
Modifié par Firoxyd le 15/07/2015 à 14:49
Modifié par Firoxyd le 15/07/2015 à 14:49
Il ne te manquerait pas un fetch par là ?
$retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip=".$_SERVER['REMOTE_ADDR']); $donnees = $connexion->query($retour); if ($donnees['nbre_entrees'] == 0){
$retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip=".$_SERVER['REMOTE_ADDR']); $donnees = $retour ->fetch(); if ($donnees['nbre_entrees'] == 0){
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 14:53
15 juil. 2015 à 14:53
J'ai toujours une page blanche
Merci Firoxyd
Je remets le nouveau code en entier
Merci Firoxyd
Je remets le nouveau code en entier
<?php try { $connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip=".$_SERVER['REMOTE_ADDR']); $donnees = $retour ->fetch(); if ($donnees['nbre_entrees'] == 0){ $connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES (:".$_SERVER['REMOTE_ADDR'].",:.time())");} else{ $connexion->exec("UPDATE connectes SET timestamp=' . time() . ' WHERE ip=".$_SERVER['REMOTE_ADDR']);} $timestamp_5min = time() - (60 * 5); $connexion->exec("DELETE FROM connectes WHERE timestamp < ".$timestamp_5min); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes"); $columns = $retour->fetch(); $nb = $columns['nbre_entrees']; echo "".$nb.""; } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?>
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
Modifié par Joomizu le 15/07/2015 à 15:20
Modifié par Joomizu le 15/07/2015 à 15:20
Page blanche...
Voila le nouveau code:
Voila le nouveau code:
try { $connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip=".$_SERVER['REMOTE_ADDR']); $donnees = $retour ->fetch(); if ($donnees['nbre_entrees'] == 0){ $connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES (:".$_SERVER['REMOTE_ADDR'].",:.time().)");} else{ $connexion->exec("UPDATE connectes SET timestamp=.time(). WHERE ip=".$_SERVER['REMOTE_ADDR']);} $timestamp_5min = time() - (60 * 5); $connexion->exec("DELETE FROM connectes WHERE timestamp < ".$timestamp_5min); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes"); $columns = $retour->fetch(); $nb = $columns['nbre_entrees']; echo "".$nb.""; } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); }
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
15 juil. 2015 à 16:06
15 juil. 2015 à 16:06
Tu peux essayer de debuger en ajoutant des var_dump pour vérifier ce que contiennent tes variables.
Par exemple cela nous indiquera ce qu'il y a réellement dans $columns :
Par exemple cela nous indiquera ce qu'il y a réellement dans $columns :
$columns = $retour->fetch(); var_dump($columns); $nb = $columns['nbre_entrees'];
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 16:21
15 juil. 2015 à 16:21
Page blanche...
Tant que $donnees = $retour ->fetch(); ou $columns = $retour->fetch(); est dans le code, c'est page blanche assurée !
Trop bizarre le PDO
Tant que $donnees = $retour ->fetch(); ou $columns = $retour->fetch(); est dans le code, c'est page blanche assurée !
Trop bizarre le PDO
<?php try { $connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip=".$_SERVER['REMOTE_ADDR']); $donnees = $retour ->fetch(); if ($donnees['nbre_entrees'] == 0){ $connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES (:".$_SERVER['REMOTE_ADDR'].",:.time().)");} else{ $connexion->exec("UPDATE connectes SET timestamp=.time(). WHERE ip=".$_SERVER['REMOTE_ADDR']);} $timestamp_5min = time() - (60 * 5); $connexion->exec("DELETE FROM connectes WHERE timestamp < ".$timestamp_5min); $retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes"); $columns = $retour->fetch(); var_dump($columns); $nb = $columns['nbre_entrees']; echo "".$nb.""; } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?>
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
15 juil. 2015 à 16:29
15 juil. 2015 à 16:29
Essai avec
$connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ...
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 16:35
15 juil. 2015 à 16:35
Cool ! maintenant le page s'affiche avec le message d'erreur suivant:
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS nbre_entrees FROM connectes WHERE ip=88.182.190.39' at line 1
On dirait que ça bloque sur une erreur de syntaxe dans l'une des requettes... On avance merci beaucoup Firoxyd
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS nbre_entrees FROM connectes WHERE ip=88.182.190.39' at line 1
On dirait que ça bloque sur une erreur de syntaxe dans l'une des requettes... On avance merci beaucoup Firoxyd
Firoxyd
Messages postés
97
Date d'inscription
mardi 23 juin 2015
Statut
Membre
Dernière intervention
28 juin 2017
45
15 juil. 2015 à 16:44
15 juil. 2015 à 16:44
Si ip est une chaine dans la base, il faut des quotes autour:
$retour = $connexion->query("SELECT COUNT (*) AS nbre_entrees FROM connectes WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
Modifié par Joomizu le 15/07/2015 à 17:00
Modifié par Joomizu le 15/07/2015 à 17:00
Même erreur
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS nbre_entrees FROM connectes WHERE ip='88.182.190.39'' at line 1
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS nbre_entrees FROM connectes WHERE ip='88.182.190.39'' at line 1
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 17:07
15 juil. 2015 à 17:07
Le message d'erreur a rétrécie :)
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(). WHERE ip=88.182.190.39' at line 1
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(). WHERE ip=88.182.190.39' at line 1
$retour = $connexion->query("SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
Utilisateur anonyme
15 juil. 2015 à 17:13
15 juil. 2015 à 17:13
Il ne s'agit plus de la même requête. Maintenant c'est
qui ne passe pas car tu as mélangé les ' et les ". Ce n'est pas un problème de requête ou de PDO, tu as un problème avec l'écriture des chaînes en PHP.
$connexion->exec("UPDATE connectes SET timestamp=' . time() . ' WHERE ip=".$_SERVER['REMOTE_ADDR']);
qui ne passe pas car tu as mélangé les ' et les ". Ce n'est pas un problème de requête ou de PDO, tu as un problème avec l'écriture des chaînes en PHP.
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 17:18
15 juil. 2015 à 17:18
ok donc c'est, par exemple:
query("SELECT
ou
query('SELECT
?
Je vais essayer de revoir toutes les lignes merci de ton aide c'est sympa
query("SELECT
ou
query('SELECT
?
Je vais essayer de revoir toutes les lignes merci de ton aide c'est sympa
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 17:24
15 juil. 2015 à 17:24
Bonjour,
Déjà... mets les infos de connexion à ta BDD dans un fichier à part qu'il te suffira d'inclure dans les pages où tu en as besoin.
Pas besoin de le recopier 50 fois dans ton code !
Ensuite... sépare les requêtes .. de leur exécution.
Ca permet d'en faire un ECHO au cas où .. et ainsi de pouvoir les tester en direct dans ta BDD pour trouver la/les erreur(s).
par exemple :
Déjà... mets les infos de connexion à ta BDD dans un fichier à part qu'il te suffira d'inclure dans les pages où tu en as besoin.
Pas besoin de le recopier 50 fois dans ton code !
Ensuite... sépare les requêtes .. de leur exécution.
Ca permet d'en faire un ECHO au cas où .. et ainsi de pouvoir les tester en direct dans ta BDD pour trouver la/les erreur(s).
par exemple :
<?php //------------------------------------------// // Fichier de connexion à la BDD // cnxBDD.php //------------------------------------------// $host = '12345'; $dbname = '12345'; $user = '12345'; $pwd = '12345'; try { $connexion = new PDO("mysql:host=".$host.";dbname=."$dbname.";charset=utf8", $user, $pwd); } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?>
<?php // On inclus le fichier de connexion à la BDD require_once "cnxBDD.php"; try { $sql = "SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='".$_SERVER['REMOTE_ADDR']."'"; $retour = $connexion->query($sql); $donnees = $retour ->fetch(); } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); echo '<br> Requete : '.$sql; }
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 17:33
15 juil. 2015 à 17:33
Je te remercie des conseils je vais décomposer ainsi
Je croie qu'il ne reste plus qu'une erreur sur ce code
Un problème de ' ou "...
Je comprends rien ça doit être l'histoire des : ?
$connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES (:".$_SERVER['REMOTE_ADDR'].",:.time().)");
Je croie qu'il ne reste plus qu'une erreur sur ce code
Un problème de ' ou "...
Je comprends rien ça doit être l'histoire des : ?
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 17:40
15 juil. 2015 à 17:40
C'est surtout que ..... que viennent faire les ":" devant tes variables ???
ce n'est utilisé que dans le cas de requêtes préparées ... hors... toi tu ne lesutilises pas !
ce n'est utilisé que dans le cas de requêtes préparées ... hors... toi tu ne lesutilises pas !
$sql = "INSERT INTO connectes (ip,timestamp) VALUES ('".$_SERVER['REMOTE_ADDR']."',time())"; try { $connexion->exec($sql); } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); echo '<br> Requete : '.$sql; }
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 17:53
15 juil. 2015 à 17:53
Je viens d'essayer ton code et echo n'affiche rien mais la page s'affiche.
Je remet le code en entier et page blanche...
Au lieu de me mettre un message d'erreur c'est page blanche, dur dur !
Je remet le code en entier et page blanche...
Au lieu de me mettre un message d'erreur c'est page blanche, dur dur !
try { $connexion = new PDO(""); $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $retour = $connexion->query("SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='".$_SERVER['REMOTE_ADDR']."'"); $donnees = $retour ->fetch(); if ($donnees['nbre_entrees'] == 0) { $connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES ('".$_SERVER['REMOTE_ADDR']."',time())"; } else{ $connexion->exec("UPDATE connectes SET timestamp=' . time() . ' WHERE ip='".$_SERVER['REMOTE_ADDR']."'");} $timestamp_5min = time() - (60 * 5); $connexion->exec("DELETE FROM connectes WHERE timestamp < ".$timestamp_5min); $retour = $connexion->query("SELECT COUNT(*) AS nbre_entrees FROM connectes"); $columns = $retour->fetch(); $nb = $columns['nbre_entrees']; echo "".$nb.""; } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 18:11
15 juil. 2015 à 18:11
Tu n'as pas essayé mon code ... !!
- Pourquoi as tu toujours les infos de connexion dans la même page que le reste de ton code ?
- Pourquoi n'as tu pas sorti les requêtes de leur exécution ?
- Pourquoi as tu toujours les infos de connexion dans la même page que le reste de ton code ?
- Pourquoi n'as tu pas sorti les requêtes de leur exécution ?
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
Modifié par Joomizu le 15/07/2015 à 18:34
Modifié par Joomizu le 15/07/2015 à 18:34
Bon j'ai préparé le code pour faire un fichier externe, je vais le faire après.
Sortir les requêtes de leur exécution ne me donnent aucune erreur mais par contre l'echo n'affiche rien.
J'ai réparé une autre erreur de '
Maintenant avec ce code (compteur de visiteurs), je n'ai plus de page blanche et j'ai un résultat de 0 au lieu de 1 au minimum. Impossible d'avoir 0 puisque qu'il y a moi qui est sur la page.
La requête INSERT ne fonctionne pas, j'ai vérifié sur la BDD et en effet je ne suis pas comptabilisé...
Ça doit pas être grand chose ?
Merci d'avance pour la dernière ligne droite ;)
Je t'ai mis le code en entier
Sortir les requêtes de leur exécution ne me donnent aucune erreur mais par contre l'echo n'affiche rien.
J'ai réparé une autre erreur de '
Maintenant avec ce code (compteur de visiteurs), je n'ai plus de page blanche et j'ai un résultat de 0 au lieu de 1 au minimum. Impossible d'avoir 0 puisque qu'il y a moi qui est sur la page.
La requête INSERT ne fonctionne pas, j'ai vérifié sur la BDD et en effet je ne suis pas comptabilisé...
Ça doit pas être grand chose ?
Merci d'avance pour la dernière ligne droite ;)
Je t'ai mis le code en entier
<?php try { $connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?> <?php // ÉTAPE 1 : on vérifie si l'IP se trouve déjà dans la table. // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse IP du visiteur. $retour = $connexion->query("SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip='".$_SERVER['REMOTE_ADDR']."'"); $donnees = $retour ->fetch(); if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, on va l'ajouter. {$connexion->exec("INSERT INTO connectes (ip,timestamp) VALUES ('".$_SERVER['REMOTE_ADDR']."','time()')");} else // L'IP se trouve déjà dans la table, on met juste à jour le timestamp. {$connexion->exec("UPDATE connectes SET timestamp=' . time() . ' WHERE ip='".$_SERVER['REMOTE_ADDR']."'");} // ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes. // On stocke dans une variable le timestamp qu'il était il y a 5 minutes : $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes $connexion->exec("DELETE FROM connectes WHERE timestamp < ".$timestamp_5min); // ÉTAPE 3 : on compte le nombre d'IP stockées dans la table. C'est le nombre de visiteurs connectés. $retour = $connexion->query("SELECT COUNT(*) AS nbre_entrees FROM connectes"); $donnees = $retour->fetch(); $nb = $donnees['nbre_entrees']; ?> <?php echo "Actuellement, ".$nb." visiteur(s)"; ?>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 18:41
15 juil. 2015 à 18:41
Tant que tu ne sortiras pas les requêtes des executions... je n'irai pas plus loin avec toi !
Le fait de sortir les requêtes... permet d'en faire des ECHO ... puis... d'aller, grâce à ces ehco.. les tester directement dans ta BDD (via un simple copié / collé ) !
NB : Time() est une fonction ... il ne faut pas lui mettre de quotes autour !
Le fait de sortir les requêtes... permet d'en faire des ECHO ... puis... d'aller, grâce à ces ehco.. les tester directement dans ta BDD (via un simple copié / collé ) !
NB : Time() est une fonction ... il ne faut pas lui mettre de quotes autour !
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 18:42
15 juil. 2015 à 18:42
Et puis rajoutes cette ligne de code
Au tout début de ta page... ça affichera les éventuelles erreurs de code....
error_reporting(E_ALL);
Au tout début de ta page... ça affichera les éventuelles erreurs de code....
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
Modifié par Joomizu le 15/07/2015 à 18:56
Modifié par Joomizu le 15/07/2015 à 18:56
ok ok si j'enlève les quote autour de time() c'est page blanche ! Merde je pensais avoir trouvé :(
Bon je vais essayer de sortir les requêtes une par une.
je fais la première:
Et oupsssss on dirait que c'est bien cette requête qui m'ennuie
Message d'erreur:
Bon je vais essayer de sortir les requêtes une par une.
je fais la première:
<?php error_reporting(E_ALL); try { $connexion = new PDO("mysql:host=12345;dbname=12345;charset=utf8", "12345", "12345"); $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); } ?> <?php $sql = "INSERT INTO connectes (ip,timestamp) VALUES ('".$_SERVER['REMOTE_ADDR']."',time())"; try { $connexion->exec($sql); } catch(PDOException $e) { echo 'Erreur PDO : '.$e->getMessage(); echo '<br> Requete : '.$sql; } ?>
Et oupsssss on dirait que c'est bien cette requête qui m'ennuie
Message d'erreur:
Erreur PDO : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '))' at line 3
Requete : INSERT INTO connectes (ip,timestamp) VALUES ('88.182.190.39',time())
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 19:21
15 juil. 2015 à 19:21
J'ai remplacé time() par CURRENT_TIMESTAMP mais ça fonctionne pas...
$sql = "INSERT INTO connectes (ip,timestamp) VALUES ('".$_SERVER['REMOTE_ADDR']."', CURRENT_TIMESTAMP)";
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 19:25
15 juil. 2015 à 19:25
http://www.w3schools.com/sql/func_curdate.asp
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 19:29
15 juil. 2015 à 19:29
J'ai besoin au format TIMESTAMP
Les 3 formats proposés ne correspondent pas.
Les 3 formats proposés ne correspondent pas.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 19:43
15 juil. 2015 à 19:43
et tu as essayé NOW() ?
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 19:45
15 juil. 2015 à 19:45
Oui mais ca fonctionne pas
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 19:47
15 juil. 2015 à 19:47
ton champ est en Timestamp ?
Pourquoi ne pas l'avoir mis en DateTime ??
Pourquoi ne pas l'avoir mis en DateTime ??
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 19:48
15 juil. 2015 à 19:48
Aucune idée c'était comme ça
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 19:49
15 juil. 2015 à 19:49
Et puis.. NOW() devrait fonctionner ...
As tu testé ta requête EN DIRECT DANS TA BDD ?????
As tu testé ta requête EN DIRECT DANS TA BDD ?????
Joomizu
Messages postés
18
Date d'inscription
mercredi 15 juillet 2015
Statut
Membre
Dernière intervention
15 juillet 2015
15 juil. 2015 à 19:53
15 juil. 2015 à 19:53
Je viens de mettre NOW()
C'est comme pour time()
Ca fait 0 visiteur(s) !
C'est comme pour time()
Ca fait 0 visiteur(s) !
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
15 juil. 2015 à 19:57
15 juil. 2015 à 19:57