begin process at 2012 05 31 07:22:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Problème pour récuperer les donnès de la table avec mysql_fetch_array()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème pour récuperer les donnès de la table avec mysql_fetch_array()

dimanche 27 novembre 2011 à 12:29:03 | Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Bonjour,
Alors voila j'ai un problème pour afficher les donnés de ma tables et je comprend pas si ça viens de ma table ou de mon code car je crois que cela viens des apostrophes...
L’erreur est
Code :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\site_local_request\getInfosFilms.php on line 61


Tandis que mon code est:
Code PHP :
<?php
include ("Connect.php");
$tbl_name="film"; 
$dir_nom = "J:\Films HD";

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
mysql_query("SET NAMES 'UTF8'");

	set_time_limit(0);
	
	$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas');
	$fichier= array();
	
	while($element = readdir($dir)) 
	{
		if($element != '.' && $element != '..' && $element != 'desktop.ini' && $element != 'Thumbs.dll' && $element != 'films.ico') 
		{
			if (!is_dir($dir_nom.'/'.$element)) 
			{
				$sql1="SELECT * FROM $tbl_name WHERE sid>124 ORDER BY sid ASC";
				$result1=mysql_query($sql1);
				$rows=mysql_fetch_array($result1);
				
				$position = strpos($element, ".");
				$extension = substr($element, 0, $position);
				$fichier = $extension;
				
				$titre=$rows['Titre'];
				if($titre==$fichier)
				{
					$filename = $element;
					$ext = substr($filename, -3, 3);
					$format = strtoupper($ext);
					
					$filesystem = new COM('Scripting.FileSystemObject');
					$file = $filesystem->GetFile($dir_nom.'/'.$element);
					$taille = $file->Size();

					if ($taille >= 1048576)
					{
						$taille = round($taille / 1048576, -2)/1000 ." Go";
					}
					
					$sid=$rows['sid'];
					$ids=0;
					$Status="Complet";
					$datetime=date("d/m/y H:i:s");
					$Source="DVB";
					$Type="BRDRip";
					
					echo "$sid $ids $titre $taille $Status $datetime $Source $format $Type Ok...<br>";
				}
				else
				{
					$sql="SELECT * FROM $tbl_name WHERE Titre LIKE '$fichier'";
					$result=mysql_query($sql);
					while($rows=mysql_fetch_array($result))
					{
						$titre=nl2br(stripslashes($rows['Titre']));
						if($titre==$fichier)
						{
							$filename = $element;
							$ext = substr($filename, -3, 3);
							$format = strtoupper($ext);
							
							$filesystem = new COM('Scripting.FileSystemObject');
							$file = $filesystem->GetFile($dir_nom.'/'.$element);
							$taille = $file->Size();

							if ($taille >= 1048576)
							{
								$taille = round($taille / 1048576, -2)/1000 ." Go";
							}
							
							$sid=$rows['sid'];
							$ids=0;
							$Status="Complet";
							$datetime=date("d/m/y H:i:s");
							$Source="DVB";
							$Type="BRDRip";
							
							echo "$sid $ids $titre $taille $Status $datetime $Source $format $Type Ok...<br>";
						}
					}
				}
			}	
		}
	}
closedir($dir);
mysql_close();	
?>

Voici un extrait d'une ligne qui n'est pas afficher:
Code :
bst 	sid 	Titre 	 	
P 	149 	Pirates des Caraibes - Jusqu'au bout du monde 	
dimanche 27 novembre 2011 à 12:46:32 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

TychoBrahe

Salut,

Tu viens de découvrir le principe des injection SQL. Bref, utilises mysql_real_escape_string() afin d'échapper le nom du fichier.
dimanche 27 novembre 2011 à 12:59:14 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Mais je comprend pas cette fonction est utilisée lorsque l'on envoi les données dans la table or ici je vais les récupérer.
Donc je dois reremplir ma table ?
dimanche 27 novembre 2011 à 13:43:29 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Voila j'ai remplacer la ligne:
Code PHP :
$titre=nl2br(stripslashes($rows['Titre']));
par
Code PHP :
$titre=mysql_real_escape_string($rows['Titre']);

Mais ça ne marche toujours pas j'ai toujours la même erreur, sachant que je viens de remplir ma table en utilisant mysql_real_escape_string().?
dimanche 27 novembre 2011 à 13:45:25 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

TychoBrahe

Allez je te donne un indice :

Code PHP :
$sql="SELECT * FROM $tbl_name WHERE Titre LIKE '$fichier'";

Qu'est-ce que ça donne lorsque $fichier est un nom avec un apostrophe ? En quoi mysql_real_escape_string() peut aider dans ce cas ?

Avec l'indication de la ligne en cause ainsi que ces deux questions tu devrais avoir largement assez de pistes pour trouver par toi même ce qu'il faut corriger.
dimanche 27 novembre 2011 à 13:54:59 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Ok je crois avoir compris, j'ai fais ça avant la requete:
Code PHP :
$fichier=mysql_real_escape_string($fichier);
$sql="SELECT sid, Titre FROM $tbl_name WHERE Titre LIKE '$fichier'";

Donc maintenant je n'ai plus d'erreur mais par contre les lignes qui marquais une erreur sont ignorer...
dimanche 27 novembre 2011 à 14:02:04 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

TychoBrahe

C'est bien ça. Voici un problème de réglé, seulement maintenant tu en as un autre. Essaye d'afficher les résultats à différentes étapes afin de tout décortiquer et isoler le problème. Pour ceci, var_dump() est une alliée précieuse.
dimanche 27 novembre 2011 à 14:14:04 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Alors enfaite var_dump() renvoi ceci par exemple:
Code :
string 'L'Assaut' (length=8)

Et dans la base le Titre est stocker comme cela L'Assaut.
Du coup je pense que c'est à cause de ' qu'il n'est pas afficher car les \' ne sont pas ajouter...
Mais si je change le Titre dans ma table comme ceci: L\'Assaut, alors là la ligne ne s'affiche même pas avec var_dump()...
dimanche 27 novembre 2011 à 14:19:08 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Réponse acceptée !
Enfaite c'est bon !
J'ai tout simplement fait ceci pour ceux que ça intéresserai:
Code PHP :
					$fichier=mysql_real_escape_string($fichier);
					$sql="SELECT sid, bst, Titre FROM $tbl_name WHERE Titre LIKE '$fichier' AND bst='$fichier[0]'";
					$result=mysql_query($sql);
					while($rows=mysql_fetch_array($result))
					{
						$titre=addslashes($rows['Titre']);
						var_dump($titre);
						if($titre==$fichier)
						{
							$filename = $element;
							$ext = substr($filename, -3, 3);
							$format = strtoupper($ext);
							
							$filesystem = new COM('Scripting.FileSystemObject');
							$file = $filesystem->GetFile($dir_nom.'/'.$element);
							$taille = $file->Size();

							if ($taille >= 1048576)
							{
								$taille = round($taille / 1048576, -2)/1000 ." Go";
							}
							
							$sid=$rows['sid'];
							$ids=0;
							$Status="Complet";
							$datetime=date("d/m/y H:i:s");
							$Source="DVB";
							$Type="BRDRip";
							
							echo "$sid $ids ".stripslashes($titre)." $taille $Status $datetime $Source $format $Type Ok...<br>";
						}

dimanche 27 novembre 2011 à 14:20:21 | Re : Problème pour récuperer les donnès de la table avec mysql_fetch_array()

kepon72

Merci beaucoup pour votre aide !


Cette discussion est classée dans : taille, code, mysql, titre, sid


Répondre à ce message

Sujets en rapport avec ce message

Editer enregistrement via formulaire [ par DjChat ] Bonjour a tous, j'ai fait un formulaire ou on peut editer un enregistrement qui est dans un BDD MySQL. On choisi l'enregistrement via une liste dero extraire un pdf d'une bdd mysql [ par thiebaut35 ] Bonsoir à tousmon souci:j'ai une base de données qui tourne bien.Je mets un fichier pdf à un endroit précisQuand je veux l'afficher, marche pas.Quand Formulaire & $_FILES [ par DjChat ] Bonjour a tous, j'ai fait un formulaire d'edition d'un enregistrement d'une BDD MySQL, il y a un upoad d'image et j'aurai aimer que si pendant l'edito erreur dans un code [ par hero88 ] Bonjour, j'ai une erreur dans le code suivant est qu'il y a quelqu'un qui peut m'aider? $result = @mysql_query('SELECT name, email FROM `users` WHERE modification de fiche produit [ par winnie39 ] Bonjour à tous,voila j' ai un petit problème,Dans le site il y a ce que j' appel une fiche produit avec plusieurs photos.Tout à été gérer pour l' ajou probleme d'insertion avec ma requette [ par cyrilherve ] bonjour,voici un bout de code qui me permet d'enregistrer un utilisateur dans ma table 'UTILISATEURS' à partire du fichier 'enregistreruser.php'[CODE] UPDATE [ par nicodu94 ] Bonjours a tous!!Je suis débutant en PHP, je suis en train de faire un back office et je suis bloqué sur ce code.Je souhaite afficher une donnee (de m Probleme d'apostrophe sur un UPDATE [ par gorc ] Bonjour j'ai un problème pour l'update de données d'une base sql via un menu déroulant, l'affichage se fait correctement, la creation de la base aussi caractere générique [ par atolldecolombo ] bonjourje cherche à créer une recherche multi criterepetit problème quand je ne renseigne pas un des critère comment le remplacer par un carctere géné Problèmes avec ISSET [ par patric31 ] Bonjour et meilleurs voeux à toutes et à tous pour 2009,J'aimerai savoir si il est possible dans un même script de faire une saisie d'un formulaire et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales