transfert resultat requete mysql

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 : transfert resultat requete mysql

par bijour » 13 oct. 2006, 16:44

Hum... en y réflechissant, tu ne dois pas pouvoir mettre le resultat de ton mysql_query() directement dans la session... c'est un objet de type Ressource et pour sessioniser un objet, il faut le serialiser :
// page 1
$rs = mysql_query($query) or die(mysql_error()); // (en cas d'erreur sql)
$_SESSION["test"] = serialize($rs); // serialisation

// page 2
$rs = unserialize($_SESSION["test"]);
En gros, ca transforme ton objet en une chaine texte le temps du stockage en session, qu'il peut reconstituer ensuite pour retrouver les clés, valeurs et autres infos utiles :)
Malheureurement si je fais un echo $rs sur la page 2, il me retroune la valeur 0.
Alors que je devrais avoir "Resource id #18".

par Ryle » 13 oct. 2006, 16:03

Hum... en y réflechissant, tu ne dois pas pouvoir mettre le resultat de ton mysql_query() directement dans la session... c'est un objet de type Ressource et pour sessioniser un objet, il faut le serialiser :
// page 1
$rs = mysql_query($query) or die(mysql_error()); // (en cas d'erreur sql)
$_SESSION["test"] = serialize($rs); // serialisation

// page 2
$rs = unserialize($_SESSION["test"]);
En gros, ca transforme ton objet en une chaine texte le temps du stockage en session, qu'il peut reconstituer ensuite pour retrouver les clés, valeurs et autres infos utiles :)

par bijour » 13 oct. 2006, 15:20

Tu as bien un session_start() au début de tes deux pages ?
de plus $_SESSION devrait il me semble être en majuscule...
Oui sur les deux pages.
ET le $_SESSION est bien en majuscule.

par Ryle » 13 oct. 2006, 15:12

Tu as bien un session_start() au début de tes deux pages ?
de plus $_SESSION devrait il me semble être en majuscule...

transfert resultat requete mysql

par bijour » 13 oct. 2006, 14:11

Hello,

Voici mon probleme :

J'ai une requete dans une page 1, dont je traite le resultat en cette meme page.

dans une page2, j'ai la meme requete dans la page 1. (donc j'aurais le meme resultat).

Mais j'aimerais savoir comment je peux envoyer le resultat de la requete en page 1 à la page 2. Afin de gagné du temps.

Voici ma requete page1 j'ai la meme en page 2 :

Code : Tout sélectionner

$test = mysql_query($query); for ($i = mysql_num_rows($test) - 1; $i >= 0; $i--) { if (!mysql_data_seek($test, $i)) { echo "Ne peut pointer vers la ligne $i : " . mysql_error() . "\n"; continue; } if (!($row = mysql_fetch_assoc($test))) { continue; } echo $row['name']; }
j'aimerais faire partir le mysql_query dans la page 2, et recupere le resultat du mysql_query de la page 1 et l'envoyer via une requete ou autre solution à la page 2.

Je pensais utiliser une variable session genre

Code : Tout sélectionner

$_session["test"] = mysql_query($query);
mais le resultat en page 2 est 0.