"You have an error in your SQL syntax near..."

WRInaute discret
Salut, qqn saurait résoudre cette énigme ?

You have an error in your SQL syntax near ' LastVisit=1049141320) AND (start_time > 1049137724) AND (remote_ip = xxx.' at line 1
Error doing DB query in get_userid_from_session()

Bien sûr j'ai remplacé mon ip par les "xxx".


Code:
function get_userid_from_session($sessid, $cookietime, $remote_ip, $db) {

	$mintime = time() - $cookietime;
	$sql = "SELECT user_id FROM sessions WHERE (sess_id = $sessid) AND (start_time > $mintime) AND (remote_ip = '$remote_ip')";
	$result = mysql_query($sql, $db);
	if (!$result) {
		echo mysql_error() . "<br>\n";
		die("Error doing DB query in get_userid_from_session()");
	}
[/code]
 
WRInaute discret
Salut!

es tu sur que c'est cette fonction la qui a provoqué l'erreur? je ne vois pas l'argument "LastVisit" dans le code...

Ben
 
WRInaute discret
et bien en fait j'ai SUPPOSE seulement :oops:

en fait l'erreur ne me dit pas quel est le fichier qui pose problème et sachant que j'ai trouvé ces variables dans le fichier functions.php je me suis dit que peut-être...

Comment faire pour savoir de quel fichier provient l'erreur ?
 
WRInaute occasionnel
Normalement la constante __FILE__ te dira dans quel fichier se trouve l'erreur. Il y a aussi moyen de savoir la ligne.
Plus d'infos dans la documentation

Jocelyn
 
WRInaute impliqué
Un indice : l'erreur dans le code SQL se situe juste avant "Last visit" dans ta requête.

Pour avancer, place une instruction echo $sql juste après $sql=etc... pour savoir si c'est bien la portion de code en cause. Si la requête définie à cet endroit ne s'affiche pas, c'est qu'il faut chercher ailleurs.
 
WRInaute discret
dans le fichier auth.php j'ai trouvé ça (il y a le mot "LastVisit") :

Code:
// set expire dates: one for a year, one for 10 minutes 
$expiredate1 = time() + 3600 * 24 * 365; 
$expiredate2 = time() + 600; 

// update LastVisit cookie. This cookie is updated each time auth.php runs 
setcookie("LastVisit", time(), $expiredate1,  $cookiepath, $cookiedomain, $cookiesecure); 

// set LastVisitTemp cookie, which only gets the time from the LastVisit 
// cookie if it does not exist yet 
// otherwise, it gets the time from the LastVisitTemp cookie 
if (!isset($HTTP_COOKIE_VARS["LastVisitTemp"])) { 
$temptime = $HTTP_COOKIE_VARS["LastVisit"]; 
} 
else { 
$temptime = $HTTP_COOKIE_VARS["LastVisitTemp"]; 
} 

// set cookie. 
setcookie("LastVisitTemp", $temptime ,$expiredate2, $cookiepath, $cookiedomain, $cookiesecure); 

// set vars for all scripts 
$now_time = time(); 
$last_visit = $temptime;

la solution peut-elle être là ??
En fait ça me fait l'erreur quand j'essaye de me logguer à mon forum php 1.4.4 (/admin/index.php) que j'ai enfin réussi à installer et là je voudrais l'administrer.
 
WRInaute passionné
Bonjour,

Cela ne vient pas de là non plus... Il n'y a pas de "select" dans ce code.
Fais une recherche globale sur LastVisit dans ton code.
Il doit se trouver dans une chaîne commencant par "SELECT" ou "UPDATE"

Ce n'est pas la bonne date pour poser ce genre de rébus, car on pourrait douter du sérieux , et sans boule de crystal.... difficile de juger. :wink:

Dan
 
Discussions similaires
Haut