Comment initialiser les variables MySQL en PHP ?

Comment initialiser les variables MySQL en PHP ? - PHP - Programmation

Marsh Posté le 22-05-2006 à 03:34:41    

voilou, je viens de découvrir les variables PHP et c'est bien pratique  
http://dev.mysql.com/doc/refman/5.0/fr/variables.html
http://dev.mysql.com/doc/refman/5. [...] ables.html
 
le plus fustrant, c'est que ma requete fonctionne parfaitement sous PhpMyAdmin mais je n'arrive pas à la faire fonctionner dans une page php
 

Code :
  1. $q= "
  2. SET @a=0;
  3. SET @b=0;
  4. SET @c=0;
  5. SELECT date_format(date, '%Y-%M') as Mois,
  6. date_format(date, '%d') as Jour, 
  7. MSISDN,
  8. if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf,
  9. if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal,
  10. if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal,
  11. count(TRANSACTION_ID) as Toute
  12. FROM `INDEX_EUROPE`
  13. GROUP BY Mois, Jour, MSISDN";
  14. $t=mysql_query ($q) or die ("<br>erreur de requete ".$q.", <br><br>erreur ".mysql_error());
  15. echo "<pre>";
  16. print_r ($t);
  17. echo "</pre>";


 
Cela me retourne  :

Citation :

erreur de requete SET @a=0; SET @b=0; SET @c=0; SELECT date_format(date, '%Y-%M') as Mois, date_format(date, '%d') as Jour, MSISDN, if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf, if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal, if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal, count(TRANSACTION_ID) as Toute FROM `INDEX_EUROPE` GROUP BY Mois, Jour, MSISDN,
 
erreur Erreur de syntaxe près de '; SET @b=0; SET @c=0; SELECT date_format(date, '%Y-%M') as Mo' à la ligne 1

Reply

Marsh Posté le 22-05-2006 à 03:34:41   

Reply

Marsh Posté le 22-05-2006 à 05:03:11    

Voilà qui devrait éclairer ta lanterne :jap:
 
http://www.siteduzero.com/tuto-3-1 [...] nnees.html


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
Reply

Marsh Posté le 22-05-2006 à 08:29:13    

C'est parce que mysql_query n'accepte qu'une requête à la fois. Essaie avec un mysql_query par SET, puis le SELECT à part.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 22-05-2006 à 09:03:51    

Mysqli peut accepter plusieurs requête à la fois. il y a une fonction specifique pour récupérer les info de la requête en question.

Reply

Marsh Posté le 22-05-2006 à 11:07:04    


 
je vois pas ou tu veux en venir ?  
 

sielfried a écrit :

C'est parce que mysql_query n'accepte qu'une requête à la fois. Essaie avec un mysql_query par SET, puis le SELECT à part.


 
comment faire pour dispatcher.
 
Mysql_query renvoie une ressource que j'utiliserais par la suite dans mon mysql_fetch_array.
 
Si je fais plusieurs mysql_query, je vais avoir plusieurs ressources. Comment faire pour les plusieurs mysql_query avec un seul mysql_fetch_array. Le mysql_fetch_array n'accepte comme ressource que la ressource
 
array mysql_fetch_array ( resource result [, int result_type] );
 
 
 

Code :
  1. $ressource1 = mysql_query ("SET @a=0" );
  2. $ressource2 = mysql_query ("SET @b=0" );
  3. $ressource3 = mysql_query ("SET @c=0" );
  4. $ressource4 = mysql_query ("
  5. SELECT date_format(date, '%Y-%M') as Mois,
  6. date_format(date, '%d') as Jour, 
  7. MSISDN,
  8. if (count(TRANSACTION_ID) < 2, @a:=@a+1, '') as inf,
  9. if (count(TRANSACTION_ID) = 2, @b:=@b+1, '') as egal,
  10. if (count(TRANSACTION_ID) > 2, @c:=@c+1, '') as egal,
  11. count(TRANSACTION_ID) as Toute
  12. FROM `INDEX_EUROPE`
  13. GROUP BY Mois, Jour, MSISDN
  14. " );
  15. mysql_fetch_array($ressource?????);


 
PS : je suis sous PHP4

Message cité 1 fois
Message édité par weed le 22-05-2006 à 11:10:35
Reply

Marsh Posté le 22-05-2006 à 11:11:47    

Berceker United a écrit :

Mysqli peut accepter plusieurs requête à la fois. il y a une fonction specifique pour récupérer les info de la requête en question.


je viens de voire que c'est only PHP5  :fou:  
 
http://fr.php.net/manual/fr/function.mysqli-query.php

Reply

Marsh Posté le 22-05-2006 à 11:29:54    


Tant pis :D

Reply

Marsh Posté le 22-05-2006 à 11:31:32    

il doit y avoir une autre solution, parce qu'avec phpMyAdmin ca fonctionne en Php4. Il dispatche comme un grand mais comment, c'est la question.

Reply

Marsh Posté le 22-05-2006 à 12:03:21    

il split sur les points virgules et il sépare les informations. Que que c'est plus compliqué parce que si dans un bloque de texte il y a cela il va y avoir un problème !


Message édité par Berceker United le 22-05-2006 à 12:04:12
Reply

Marsh Posté le 22-05-2006 à 12:31:18    

weed a écrit :


comment faire pour dispatcher.
 
Mysql_query renvoie une ressource que j'utiliserais par la suite dans mon mysql_fetch_array.
 
Si je fais plusieurs mysql_query, je vais avoir plusieurs ressources. Comment faire pour les plusieurs mysql_query avec un seul mysql_fetch_array. Le mysql_fetch_array n'accepte comme ressource que la ressource
 
array mysql_fetch_array ( resource result [, int result_type] );


 
Ben tu utilises la dernière ressource, t'as pas besoin des autres. [:spamafote]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 22-05-2006 à 12:31:18   

Reply

Marsh Posté le 22-05-2006 à 12:38:52    

$rs1 = mysql_query($req1,$rssConn);
$rs2 = mysql_query($req2,$rssConn);
$arr1 = mysql_fetch_array($rs1);
$arr2 = mysql_fetch_row($rs2);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed