|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
chili palmer WRInaute occasionnel

Inscrit le: 16 Déc 2005 Messages: 121
|
Posté le : Jeu Nov 23, 2006 11:49 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
Bonjour,
j'ai un petit problème avec mon script de filmographie en php
-http://spencerhill.free.fr/filmographie_bud.php
lorsque je veux avoir le détail du film j'obtient
| Citation: |
| Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/112/sdc/7/c/spencerhill/detail-film.php on line 154 |
Voici la section de code qui pose problème
| Code: |
<?php
include ("config.php");
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
$result = mysql_query("SELECT id_film, titre, annee,realisateur,url_amazon, resume, casting FROM filmographie WHERE id_film='$id_film' ORDER BY annee");
?>
<?php while ($donnes = mysql_fetch_array ($result)) {
echo '<h3>';
echo $donnes['titre'];
echo ' ';
echo '(';
echo $donnes['annee'];
echo ')';
echo '</h3>';
?> |
|
|
| |
|
 |
Mitirapa WRInaute accro

Inscrit le: 10 Juil 2002 Messages: 1653 Localisation: Brest
|
Posté le : Jeu Nov 23, 2006 11:55 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
et si tu rajoutes un
| Code: |
| echo "SELECT id_film, titre, annee,realisateur,url_amazon, resume, casting FROM filmographie WHERE id_film='$id_film' ORDER BY annee"; |
1-et que la ligne affichée dans ta page tu l'executes dans ton phpmyadmin ca marche ?
2-la variable $id_film s'affiche bien dans ton echo ?
3-ya pas un dernier } qui manque ?
4- arretons les -http
5- et pas besoin de selectionner id_film dans ta requete vu que tu l'as connais deja |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12629 Localisation: Toulouse
|
Posté le : Jeu Nov 23, 2006 12:02 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
ta requete est fausse, met ca :
$requete="SELECT id_film, titre, annee, realisateur, url_amazon, resume, casting FROM filmographie WHERE id_film='$id_film' ORDER BY annee";
echo $requete;
tu verra desuite le problème (je dirai un $id_film qui vaut NULL) |
|
| |
|
 |
Mitirapa WRInaute accro

Inscrit le: 10 Juil 2002 Messages: 1653 Localisation: Brest
|
Posté le : Jeu Nov 23, 2006 12:10 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
| e-kiwi a écrit: |
| ta requete est fausse |
pkoi elle est fausse ?
à cause des espaces dans le select ? car si c'est ca que t'en mette ou pas ca changera rien
et question con, pkoi ORDER BY annee au fait ? t'en a pas besoin vu que tu as un id_film ... donc tu n'es censé avoir qu'un film de toute facon |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12629 Localisation: Toulouse
|
Posté le : Jeu Nov 23, 2006 12:35 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
>>pkoi elle est fausse ?
parceque ça
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
je lui dit que si il a ce mesasge d'erreur, il faut qu'il se concentres sur la requete |
|
| |
|
 |
Mitirapa WRInaute accro

Inscrit le: 10 Juil 2002 Messages: 1653 Localisation: Brest
|
Posté le : Jeu Nov 23, 2006 12:44 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
ah ok, j'vais pensé que tu disais que c'etait sa syntaxe qui était fausse donc je comprenais pas
bah avec tout ce qui a été dit, ca devrait etre résolu...
ps: sur sa page on voit que l'id_film passe (il a fait un echo de sa requete) donc a tous les coups, ses champs dans son select ne doivent pas correspondre a sa table |
|
| |
|
 |
chili palmer WRInaute occasionnel

Inscrit le: 16 Déc 2005 Messages: 121
|
Posté le : Ven Nov 24, 2006 12:06 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
Merci pour toute vos réponses !
ayant tout essayé avec vos astuces, sans aucun résultat... j'ai repris quelques cours de PHP, et j'ai refait entierement mon "bazar" !
maintenant cela fonctionne mais j'aurai encore quelques précisions à avoir :
voilà mon code actuel
| Code: |
<?php
include ("config.php");
mysql_connect($host,$login,$password) or die(mysql_error());
mysql_select_db($base);
$result = mysql_query("SELECT titre, annee,realisateur, resume, casting FROM filmographie WHERE titre='$titre'");
?>
<?php while ($donnes = mysql_fetch_array ($result) )
{
echo '<h3>';
echo $donnes['titre'];
echo ' ';
echo '(';
echo $donnes['annee'];
echo ')';
echo '</h3>';
?>
<strong>Casting: </strong><?php echo $donnes['casting']; ?> <br />
<strong>Réalisateur: </strong><?php echo $donnes['realisateur']; ?>
<hr />
<p>
<strong>Synopsis: </strong><?php echo $donnes['resume'];
?></p>
<?php
}
mysql_close(); // Déconnexion de MySQL
?> |
J'ai supprimé le id_film et j'ai fait passer la variable (d'une page à l'autre) par ['annee']
Mais j'ai toujours un petit souci d'affichage de données triées: Je voudrais afficher une requete qui ne selectionne que les champs où se trouvent 2 termes "hill" et "Spencer" (j'y arrive uniquement avec 1 terme).
j'ai donc testé ça mais ça ne marche pas
| Code: |
//==== Requete de selection bdd ====================
$strSQL = "SELECT titre FROM filmographie";
$result = mysql_query("SELECT * FROM filmographie WHERE casting LIKE '%Bud Spencer%' AND '%Terence Hill%' ORDER BY annee DESC");
while ($row = mysql_fetch_array ($result)) {
echo "<a href=\"detail-film.php?titre=".$row["titre"]."\">".$row['annee']." ".$row['titre']."</a><br/>";
}
|
c'est là qu'il y a problème : '%Bud Spencer%' AND '%Terence Hill%'
Je voudrais SVP savoir comment augmenter la sécurité du script |
|
| |
|
 |
e-kiwi Modérateur

Inscrit le: 23 Déc 2003 Messages: 12629 Localisation: Toulouse
|
Posté le : Ven Nov 24, 2006 15:11 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
| WHERE (casting LIKE '%Bud Spencer%') AND (casting LIKE '%Terence Hill%') |
|
| |
|
 |
chili palmer WRInaute occasionnel

Inscrit le: 16 Déc 2005 Messages: 121
|
Posté le : Ven Nov 24, 2006 15:19 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
| e-kiwi a écrit: |
| WHERE (casting LIKE '%Bud Spencer%') AND (casting LIKE '%Terence Hill%') |
Un Grand Merci... cela marche parfaitement !!!  |
|
| |
|
 |
99er Nouveau WRInaute
Inscrit le: 07 Aoû 2006 Messages: 8 Localisation: lyon
|
Posté le : Ven Déc 01, 2006 23:02 Sujet du message: erreur PHP Warning: mysql_fetch_array(): supplied argument |
|
|
Bonjour,
j'ai exactement le même problème, cependant la requête s'affiche bien dans l'echo, et s'execute également dans phpmyadmin :
mon script correspond à afficher les emails qu'on a coché dans la liste pour pouvoir les modifier...
mon code :
| Citation: |
<form name="delete" method="post" action="admin/admin.php?page=admin&type=newsletter&do=<? echo strtolower($_POST['action']) ; ?>&lang=<? echo $_GET['lang'] ; ?>">
<table>
<tr>
<td><input type="checkbox" name="checkall" onclick="checkUncheckAll(this);" /></td>
<td><b><? echo ucfirst(TXT_ID) ; ?></b></td>
<td><b><? echo ucfirst(TXT_EMAIL) ; ?></b></td>
<td><b><? echo ucfirst(TXT_LASTNAME) ; ?></b></td>
<td><b><? echo ucfirst(TXT_FIRSTNAME) ; ?></b></td>
</tr>
<?
// Modifier les entrées de la liste
if($_GET['do'] == TXT_MODIF) {
if (isset($action)) {
foreach ($id as $modif_id) {
if (isset($modif_id) AND ($modif_id != '')) {
$requete = "SELECT * FROM opt_newsletter_table WHERE id=$modif_id" ;
} else {
$requete = "SELECT * FROM opt_newsletter_table ORDER BY $sort $order" ;
}
$modif_result = $requete ;
echo $modif_result ;
$modif_row = mysql_fetch_array($requete) ;
echo '<tr>' ;
echo '<td><input type="checkbox" name="id[]" value="'.$checkbox_id.'" /></td>' ;
echo '<td style="text-align: right;">'.$modif_row['id'].'</td>' ;
echo '<td>modif '.$modif_row['email'].'</td>' ;
echo '<td>modif '.$modif_row['nom'].'</td>' ;
echo '<td>modif '.$modif_row['prenom'].'</td>' ;
echo '</tr>' ;
}
}
}
// Maintenir l'affiche de la liste en cas d'erreur dans le panneau admin
elseif((strpos($_POST['add_email'],"@") == '') OR (strpos($_POST['add_email'],".") == '') OR $add_check) {
$result = mysql_query("SELECT * FROM opt_newsletter_table ORDER BY $sort $order");
while($row = mysql_fetch_array($result)) {
echo '<tr>' ;
echo '<td><input type="checkbox" name="id[]" value="'.$row['id'].'" /></td>' ;
echo '<td style="text-align: right;">'.$row['id'].'</td>' ;
echo '<td>'.mailto($row['email'],$row['email']).'</td>' ;
echo '<td>'.$row['nom'].'</td>' ;
echo '<td>'.$row['prenom'].'</td>' ;
echo '</tr>' ;
}
}
// Affichage du message temporaire pendant la mise à jour de la base de données
elseif(isset($_GET['do']) AND $_GET['do'] == "add" AND $_POST['add_email'] != "") {
echo MSG_DB_UPDATE.' ' ;
echo lien_txt(TXT_REFRESH,'../admin/admin.php?page=admin&type=newsletter&lang='.$_GET['lang'].'&sort='.$sort.'&order='.$order,'') ;
} else {
echo '' ;
}
?>
</table>
</form>
|
autre problème... je suis obliger de cliquer 2fois sur la touche modifier avant d'atteindre l'image 2...  |
|
| |
|
 |
| |
|
|