problème synthaxe?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème synthaxe?

Re: problème synthaxe?

par roberta » 13 mars 2011, 22:20

Bon voilà la solution :priere: , la doc m'a bien aidée en effet, j'ai pu trouver ce code :
session_start(); //on démarre une session
		$_SESSION['name'] = $name; //la variable de session $_SESSION['user'] récupère le login saisi
		$query1="select iduser from authorized_users where name='$name'"; 
		$result1= mysqli_query($mysql,$query1); //recupère l'ID de l'utilisateur
		if(!$result1)
		{	
			echo 'Cannot run query.';
		exit;
		}
		$row=mysqli_fetch_row($result1);
		$query2="UPDATE authorized_users SET date1 = NOW( ) WHERE iduser ='".$row[0]."'"; //met à jour date1 , qui correspond à la date et l'heure de la dernière connexion de l'utilisateur
		$result2 = mysqli_query( $mysql, $query2 ); 
			if(!$result)
			{
				echo 'Cannot run query.';
			exit;
			}
		mysqli_free_result($result1);
ce code fonctionne également avec la fonction mysqli_fetch_array() ... Avec mysql_fetch_assoc il faut remplacer '".$row[0]."' par '".$row['iduser']"' dans mon cas. Il est effectivement utile de comprendre la différence entre un tableau associatif et un tableau indexé retourné.
Merci pour les différentes réponses de chacun d'entre vous.

Un jour peut-être je comprendrais ce que je fais. #-o

Re: problème synthaxe?

par moogli » 13 mars 2011, 21:31

merci pour cette remarque,

mais à moins que je ne comprenne pas mon code, $result1 renvoi une seule donnée l'ID soit un nombre entier et non un jeu de données.
l'utilisation de mysqli_fetch_assoc est-elle indispensable?
oui oui tu ne comprend pas ton code ;)

mysql_fetch_assoc est indispensable (a moins que tu ne préfère fetch_objet, fetch_array etc).

suis le conseil de xTG et lien de mon message précédent ;)

@+

Re: problème synthaxe?

par xTG » 13 mars 2011, 21:12

Regardes la documentation de la fonction...
Cela te renvoie une ressource, cette ressource doit être interprétée (mysqli_fetch_assoc) !

Re: problème synthaxe?

par roberta » 13 mars 2011, 21:09

merci pour cette remarque,

mais à moins que je ne comprenne pas mon code, $result1 renvoi une seule donnée l'ID soit un nombre entier et non un jeu de données.
l'utilisation de mysqli_fetch_assoc est-elle indispensable?

et dans ce cas comment l'utiliser?

Code : Tout sélectionner

$row=mysqli_fetch_assoc($result1); $query2="UPDATE authorized_users SET date1 = NOW( ) WHERE iduser ='".$row[0]."'"; $result2 = mysqli_query( $mysql, $query2 );


ne marche pas, je n'ai pas de message d'erreur, mais cela ne met pas la base à jour.

Re: problème synthaxe?

par moogli » 13 mars 2011, 19:40

salut,

a priori tu ne sais pas exploiter le retour de mysqli_query, tu ne peut l'employer ainsi, et c'est ce que t'indique php avec ton message d'erreur (il essai mais ne peux pas convertir un jeux de données en chaine de caractère ;)

je te conseil de regarder mysqli_fetch_assoc qui devrait grandement t'aider à exploiter tous ça ;)


@+

Re: problème synthaxe?

par roberta » 13 mars 2011, 18:48

oui...effectivement... #-o

Re: problème synthaxe?

par Berzemus » 13 mars 2011, 18:34

problème synthaxe?
Oui, c'est "syntaxe" :mrgreen:

La programmation, c'est comme l'orthographe, mais en pire.

problème synthaxe?

par roberta » 13 mars 2011, 18:32

Bonjour,

j'ai un petit problème avec ce script, j'aimerais récupérer l'id de l'utilisateur qui s'est logger et rentrer dans la base l'instant de la connexion.
J'ai donc réaliser ce bout de code :

Code : Tout sélectionner

session_start(); //on démarre une session $_SESSION['name'] = $name; // récupère le login $query1="select iduser from authorized_users where name='$name'"; $result1= mysqli_query($mysql,$query1); //recupère l'ID de l'utilisateur if(!$result1) { echo 'Cannot run query.'; exit; } $query2="UPDATE authorized_users SET date1 = NOW( ) WHERE iduser ='".$result1."'"; //met à jour date1 , qui correspond à la date et l'heure de la dernière connexion de l'utilisateur $result2 = mysqli_query( $mysql, $query2 );
ce script me donne l'erreur suivante : "Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\XXXX\www\xxx\xxx.php on line 72

La ligne 72 correspond à la requête $query2... et l'erreur se trouve au niveau de $result1... lorsque je lui met une valeur fixe par exemple iduser=1 le script fonctionne.

Merci d'avance pour vos remarques.