djangoboy
Messages postés54Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention25 septembre 2007
-
14 mai 2005 à 16:35
djangoboy
Messages postés54Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention25 septembre 2007
-
10 oct. 2005 à 10:30
Bonjour,
Alors je suis en train de réaliser un scipt et j'ai besoin de ma base de données.
Je pense qu'il vaut mieux que je vous balance mon script et que je vous explique après :
<?
mysql_connect("sql.free.fr","dj.boy","xavqyqz1");
mysql_select_db("dj_boy");
$i = "0";
while($i < 5)
{
$i = $i + 1;
$retour = "";
if($i "1"){$numero "En ce moment";}
else{$numero = $heure[$i];}
$retour = mysql_query("SELECT
*FROM radio WHERE auteur='$auteur[$i]', titre='$titre[$i]'");
$nbr = mysql_num_rows($retour);
if ($nbr ==0)
{
mysql_query("INSERT INTO radio VALUES ('','$auteur[$i]',
'$titre[$i]','$album[$i]',
'$sortie[$i]','$label[$i]','$pochette[$i]')");
}
else
{
echo "déjà dans la base" ;
}
?>
<? echo $numero; ?>
">
<? echo $auteur[$i]; ?>
<? echo $titre[$i]; ?>
<? echo $album[$i]; ?>
<? echo $sortie[$i]; ?>
<? echo $label[$i]; ?>
<?
}
mysql_close();
?>
cette erreur apparait : Warning : mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/3/1/dj.boy/enregistrement.php on line 177
La ligne 177 correspond à : $nbr = mysql_num_rows($retour);
Les variables $auteur[$i] et les autres sont définie avant dans le script.
Je
verifie la presence dans la base de donnée des info si c'est le casje
ne fais rien, dans le cas contraire je les insert dans la base.
Cependant il me le rajoute a chaque fois que j'actualise.
J'ai essayer d'autre methode.
A la place de
$retour = mysql_query("SELECT
*FROM radio WHERE auteur='$auteur[$i]', titre='$titre[$i]'");
$nbr = mysql_num_rows($retour);
if ($nbr ==0)
j'ai essayer
$retour =mysql_query("SELECT * FROM radio WHERE auteur='$auteur[$i]',titre='$titre[$i]'");
;
if (mysql_num_rows($retour) ==0)
ou
$retour = mysql_query("SELECT
*FROM radio WHERE auteur='$auteur[$i]', titre='$titre[$i]'");
;
if (mysql_num_rows($retour) =="0")
aucun ne marche.
j'ai aussi utiliser une autre fonction ca na marche pas non plus.
$retour[$i] = mysql_query("SELECT COUNT(*) ASentrees
FROM radio WHERE auteur='$auteur[$i]', titre='$titre[$i]'");
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 14 mai 2005 à 17:45
Salut!
mysql_query retourne des "informations base de données" en cas de
succès de la requête ou FALSE en cas d'erreur. Ton erreur se produit
lorsque mysql_query retourne FALSE, ainsi mysql_num_rows, ou bien
encore mysql_fetch_array renvoient une erreur car elles ne peuvent
travailler sur un FALSE.
Il faut TOUJOURS vérifier le retour de mysql_query avant de faire qqch d'autre, genre:
$retour =mysql_query("SELECT * FROM radio WHERE auteur='$auteur[$i]',titre='$titre[$i]'") or die('Erreur MySQL');
Ci-dessus, si une erreur se produit, le message "Erreur MySQL" est affiché et le script est interrompu.
Si tu es en cours de debugage, tu peux faire afficher le message d'erreur mysql:
$retour =mysql_query("SELECT * FROM radio WHERE
auteur='$auteur[$i]',titre='$titre[$i]'") or die('Erreur MySQL:
' . mysql_error());
Autrement, tu peux gérer le tout toi-même:
$retour =mysql_query("SELECT * FROM radio WHERE auteur='$auteur[$i]',titre='$titre[$i]'");
if( !$retour )
{
header("location: erreur.php");
exit;
}
Voila, en affichant l'erreur mysql, tu pourras surement découvrir ton erreur, ;)
djangoboy
Messages postés54Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention25 septembre 2007 15 mai 2005 à 08:52
Merci les gars,
J'ai trop était con pour mon compte je n'ai pas fais gaffe, ca fait
chier maintenant ya un con qui me la piké alors SVP la personne
concerné donner moi les coordonées de mon compte. Envoyé les à
django@adorire.com
Sinon le compte seras bloquer de toutes facon car un mail et déja parti chez les webmaster de free. Fait pas les *******.