Alors là je ne comprends pas !

Alors là je ne comprends pas ! - PHP - Programmation

Marsh Posté le 12-09-2002 à 18:27:35    

Je ne sais pas si c'est Free mais mon script php qui marchait impek il ya quelques jours foire aujourd'hui alors que je n'ai rien touché !et affiche cette erreur :
 

Code :
  1. Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in detail.php on line 38


 
 
 :ouch:  comment ça se fait !?
 
PS: la meme page ou il ya le script marche impek en local !


Message édité par ludo2604 le 12-09-2002 à 18:28:16

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 18:27:35   

Reply

Marsh Posté le 12-09-2002 à 19:09:44    

C'est quoi la ligne 38 ?

Reply

Marsh Posté le 12-09-2002 à 19:11:44    

c clair qu'on peut pas deviner nous  :pt1cable:

Reply

Marsh Posté le 12-09-2002 à 20:07:10    

oui mais nan c pas possible qu'il y é une erreur la meme page fonctionne en local :/
 
pour la ligne 38 :
 

Code :
  1. while($ligne_artiste=mysql_fetch_object($requete))
  2. {


Message édité par ludo2604 le 12-09-2002 à 20:07:33

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 20:18:54    

Donne nous le code complet ca sera plus facile de t'aider

Reply

Marsh Posté le 12-09-2002 à 20:22:45    

ludo2604 a écrit a écrit :

Je ne sais pas si c'est Free mais mon script php qui marchait impek il ya quelques jours foire aujourd'hui alors que je n'ai rien touché !et affiche cette erreur :
 

Code :
  1. Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in detail.php on line 38


 
 
 :ouch:  comment ça se fait !?
 
PS: la meme page ou il ya le script marche impek en local !



Une modification de la base d'un côté où de l'autre qui fait que la requête ne marche plus. Et le résultat que tu récupère ne peux donc pas être 'fetché'.

Reply

Marsh Posté le 12-09-2002 à 20:23:09    

bon vous l'aurez voulu  :sarcastic:  
 
[php]
 <?
  require('style.php';);
if($cat)
{
echo "<b><a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=A>A</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=B>B</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=C>C</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=D>D</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=E>E</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=F>F</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=G>G</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=H>H</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=I>I</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=J>J</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=K>K</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=L>L</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=M>M</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=N>N</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=O>O</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=P>P</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=Q>Q</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=R>R</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=S>S</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=T>T</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=U>U</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=V>V</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=W>W</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=X>X</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=Y>Y</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=Z>Z</a> <a href=index.php?p=scriptsphp3/lyrics/detail&cat=$cat&letter=%23>#</a></b>";
}
?>
  <br>
  <img src="Graphisme/barre.jpg" width="400" height="1">  
</form>
<p>
  <?  
require ("secret/conf.php3" );
?>
<?
if($HTTP_GET_VARS["cat"] == "artistes" ){
if($HTTP_GET_VARS["letter"] == "#" ){
 $requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
}elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
 $requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" );  
}else{
 echo"! Choisissez une lettre !";
 exit();
}  
while($ligne_artiste=mysql_fetch_object($requete)) //ligne 38
{
 $req=mysql_query("SELECT * FROM artistes ORDER BY id DESC LIMIT 9,1" );  
 $ligne=mysql_fetch_object($req);  
 $idlimit = $ligne->id;
 if($ligne_artiste->id>=$idlimit)
 {
  echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id'>$ligne_artiste->nom</a> <font color=white>($ligne_artiste->nbr)</font><font color=#FFD16F>New!</font><br>";
 }
 else
 {
  echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id'>$ligne_artiste->nom</a> <font color=white>($ligne_artiste->nbr)<br>";
 }
 echo "</div>";
}
}elseif ($HTTP_GET_VARS["cat"] == "chansons" ){
echo("<TABLE width=75%>\n<TR valign=top>\n<TD width=50%>\n<TABLE align=center>" );
if($HTTP_GET_VARS["letter"] == "#" ){
 $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
}elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
 $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
}else{
 echo"! Choisissez une lettre !";
 exit();
}  
$nbrow=mysql_num_rows($requete);
$col1=($nbrow-($nbrow%2))/2+($nbrow%2);
$num=0;
while($ligne_chanson=mysql_fetch_object($requete)){
 $num++;
 if($num==$col1){
  echo "</TABLE>\n</TD>\n<TD width=60%>\n<TABLE align=center>\n";
 }
 echo "<div align=left><font color=white><b>.</b> <a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom<br>";
}
echo"</TABLE>\n</TD></TR>\n</TABLE>\n";
}
?>
[/php]


Message édité par ludo2604 le 12-09-2002 à 20:24:34

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 20:24:54    

Ben tu fe un EXIT; ce sera pas ca la merde ?


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 12-09-2002 à 20:27:25    

ta testé ta requette ?

Reply

Marsh Posté le 12-09-2002 à 20:29:31    

Je@nb a écrit a écrit :

ta testé ta requette ?




 
 :hello:  
[:max evans] <= Smon new smiley perso :D


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 12-09-2002 à 20:29:31   

Reply

Marsh Posté le 12-09-2002 à 20:32:53    

et le mysql_pconnect ou connect, et le select_db, c'est pour les chiens?  :ouch:  


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-09-2002 à 20:39:26    

Max Evans a écrit a écrit :

 
 
 :hello:  
[:max evans] <= Smon new smiley perso :D




 
 [:tkilla]  
 
trop bien  ;)
 
[:max evans][:max evans][:max evans][:max evans][:max evans]


Message édité par Je@nb le 12-09-2002 à 20:39:42
Reply

Marsh Posté le 12-09-2002 à 20:56:31    

Max Evans a écrit a écrit :

Ben tu fe un EXIT; ce sera pas ca la merde ?




 
non


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 20:56:52    

zion a écrit a écrit :

et le mysql_pconnect ou connect, et le select_db, c'est pour les chiens?  :ouch:  
 




 
ya  
 
  <?  
require ("secret/conf.php3" );
?>
 
si tu regardes bien :D


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 20:57:29    

Je@nb a écrit a écrit :

ta testé ta requette ?




 
comment ça ?
 
oui elle marche en local et pouruqoi aujourd'hui ca marche pas sur Free  :ouch:


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 21:02:15    

bas free n'as pas la meme config que toi en local !

Reply

Marsh Posté le 12-09-2002 à 21:15:51    

ludo2604 a écrit a écrit :

 
 
ya  
 
  <?  
require ("secret/conf.php3" );
?>
 
si tu regardes bien :D




 
oui et?
ca veux pas dire que tu le fais, et encore moins que tu le fasses bien  :na:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-09-2002 à 21:20:14    

zion a écrit a écrit :

 
 
oui et?
ca veux pas dire que tu le fais, et encore moins que tu le fasses bien  :na:  




 
oui mais non ce n'est pas ça car mon autre requette pour les chansons fonctionne elle.
 
ici :
 
http://purcity.free.fr/index.php?p [...] s&letter=A
 
essaye en prenant dans le menu "chansons" et ça marchera donc s'pa ça :)


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 12-09-2002 à 21:23:54    

mysql_error()
alors
 
 :p


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-09-2002 à 21:41:20    

zion a écrit a écrit :

mysql_error()
alors
 
 :p  




 
arf bein oui joublie tt le temps !! :sarcastic:  
 
bref, j'ai mis mysql_error() avec toute les requetes et voila ce qu'il me met now :
 

Code :
  1. The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok


 
ca veut dire quoi tt ca  [:kains]


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 13-09-2002 à 10:45:07    

ludo2604 a écrit a écrit :

 
 
arf bein oui joublie tt le temps !! :sarcastic:  
 
bref, j'ai mis mysql_error() avec toute les requetes et voila ce qu'il me met now :
 

Code :
  1. The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok


 
ca veut dire quoi tt ca  [:kains]  



Ca veut dire que mysql considère que ta requête qui porte sur plusieurs table risque de retourner un trop grand nombre de résultat ou risque de scanner trop de fois les tables et donc il bloque cette requête.
Quand ca m'est arrivé, je n'ai trouvé comme seule solution que la division de la requête en deux. (chiant mais parfois obligatoire)
Au début, je pensais qu'en suprimant des lignes, ca remarcherait mais en fait c'est pas le cas, donc il te reste plus qu'à couper ta requête en deux parties que tu exécuteras l'une après l'autre.

Reply

Marsh Posté le 13-09-2002 à 15:32:34    

omega2 a écrit a écrit :

Ca veut dire que mysql considère que ta requête qui porte sur plusieurs table risque de retourner un trop grand nombre de résultat ou risque de scanner trop de fois les tables et donc il bloque cette requête.
Quand ca m'est arrivé, je n'ai trouvé comme seule solution que la division de la requête en deux. (chiant mais parfois obligatoire)
Au début, je pensais qu'en suprimant des lignes, ca remarcherait mais en fait c'est pas le cas, donc il te reste plus qu'à couper ta requête en deux parties que tu exécuteras l'une après l'autre.




 
arf merci mais je ne sais pas faire ça moi :/


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 13-09-2002 à 15:45:22    

ludo2604 a écrit a écrit :

 
 
arf merci mais je ne sais pas faire ça moi :/



Ta requete, elle est surement du genre "select colone1,colone2 from table1,table2 where table1.colone3=table2.colone4"
Il faut que tu fasses une requete qui soit en "select colone1,colone3 from table1"
et l'autre en "select colone2 from table2 where colone4=$valeur"
la variable $valeur contient la valeur de colone3 retourné par la première requête.
Si ta table2 n'a aps beaucoup de ligne mais que la requete sur table1 t'en retourne beaucoup alors il est peut être plus rapide de ramener toutes les valeurs contenus dans table2 (donc "select colone2,colone4 from table2" ) et de chercher par programme les lignes de table2 qui corespondent à chaque ligne de table1.

Reply

Marsh Posté le 13-09-2002 à 15:54:25    

omega2 a écrit a écrit :

Ta requete, elle est surement du genre "select colone1,colone2 from table1,table2 where table1.colone3=table2.colone4"
Il faut que tu fasses une requete qui soit en "select colone1,colone3 from table1"
et l'autre en "select colone2 from table2 where colone4=$valeur"
la variable $valeur contient la valeur de colone3 retourné par la première requête.
Si ta table2 n'a aps beaucoup de ligne mais que la requete sur table1 t'en retourne beaucoup alors il est peut être plus rapide de ramener toutes les valeurs contenus dans table2 (donc "select colone2,colone4 from table2" ) et de chercher par programme les lignes de table2 qui corespondent à chaque ligne de table1.




ah oui ok séparation des jointures en gros c ca ?
Si oui merci des explications je vais voir ça et je te tiens au courant ;)


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 13-09-2002 à 16:03:19    

ludo2604 a écrit a écrit :

 
ah oui ok séparation des jointures en gros c ca ?
Si oui merci des explications je vais voir ça et je te tiens au courant ;)



Exactement. Je retrouvais plus le terme.  :ange:  
En fait j'ai même pas pensé qu'il y en avait une quand j'ai pondus mes explications. :lol:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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