Page 1 sur 1

probleme requete mysql

Posté : 05 mars 2007, 15:12
par yuuzhantar
bonjour
alors j'ai un gros problème

j'essaye de faire une requete sql par php comme ceci
function trouve_site ($indice1,$table1)
{
	global $indice2; $indice2=0;
	include("../config.php");
	while($indice2<$indice1&&$true==0)
		{
		$research = $table1[$indice2];
		$sql1="SELECT site_id FROM wv_sites_visio order by rand() limit 1";
		//$req1= mysql_query($sql1);
		//global $data1; WHERE site_id!='$research'  && user_id!='$user_id' && site_id!='$dernier' 
		$data1 = mysql_fetch_array($sql1);
		if(empty($data1['site_id'])){$true=0;}else{$true=1;}
		$indice2++;
		}
	//verif_user ($data1);
	//return($data1);
}
dans une fonction
ce qui me pose problème c'est $sql1 : la requête qui choisit au hasard une entrée dans la table

a chaque fois cela me met ceci :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\FTP\interem\surf\essai_surf_top_v2.php on line 40
je ne sais pas pourquoi

le bout de code, je l'ai tiré d'ici :
http://www.phpscripts-fr.net/portions/portion.php?id=96

je ne vois pas pourquoi celà ne marche pas

merci d'avance pour votre aide
yann

Posté : 05 mars 2007, 15:19
par raptor
Tu as bien sur testé sans les // devant $req1 = mysql_query($sql1); ?

Si tu les a bien enlevé, alors remplace la ligne par :
$req1 = mysql_query($sql1) or die(mysql_error());

Tu auras ainsi l'explication de l'erreur dans la requete $sql1.

@+

Posté : 05 mars 2007, 15:22
par yuuzhantar
nan
sa ne marche pas comme sa
sa met toujours
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\FTP\interem\surf\essai_surf_top_v2.php on line 40
je suis très embetté

Posté : 05 mars 2007, 15:47
par charabia
function trouve_site ($indice1,$table1) 
{ 
    global $indice2; $indice2=0; 
    include("../config.php"); 
    while($indice2<$indice1&&$true==0) 
        { 
        $research = $table1[$indice2]; 
        $sql1="SELECT site_id FROM wv_sites_visio order by rand() limit 1"; 
        $req1= mysql_query($sql1); 
        //global $data1; WHERE site_id!='$research'  && user_id!='$user_id' && site_id!='$dernier'  
        $data1 = mysql_fetch_array($req1); 
        if(empty($data1['site_id'])){$true=0;}else{$true=1;} 
        $indice2++; 
        } 
    //verif_user ($data1); 
    //return($data1); 
} 
Tu t'es trompé dans ton code. Il faut déjà que tu enlèves les // pour le mysql_query, ensuite le mysql_fetch_array prend $ret1 et non$sql1.

Posté : 05 mars 2007, 16:21
par raptor
A ben ouais forcement, si il prend une chaine dans le fetch_array ^^.
J'étais pas allé voir jusque là dans le code, m'etais arreté au mysql_query.
Bien vu charabia

Posté : 05 mars 2007, 17:56
par yuuzhantar
exact merci
je m'étais tellement embrouillé dans ma page que je n'aivais pas vu celà
j'ai voulut faire directement mysql_query(machin ...)

mais j'ai oublié de le faire
après celà ne marchait encore pas mais j'ai résolut tous les probs
merci

Posté : 05 mars 2007, 18:37
par mere-teresa
Modération :
yuuzhantar, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.