Problème de champ Blob

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de champ Blob

par Hywan » 19 juil. 2007, 15:28

Désolé, je ne m'y connais pas assez en base de données pour pouvoir te répondre. Mais les autres devraient te répondre normalement. Soit un petit peu patient :)

Sinon, continue à chercher sur le manuel, et regarde du côté de PDO (toujours sur le manuel).

par Tempora » 19 juil. 2007, 14:57

merci, mais les fonctions concernent l'acces à Interbase.
La migration s'est faite vers du Mysql.
Exise t'il les meme fonctions de gestion des blob pour mysql ?

par Hywan » 19 juil. 2007, 10:10

Je n'en connais pas suffisament dans le domaine pour te répondre correctement, mais comme une lecture du manuel résoud 95% des problèmes, voici 2 liens : Fonction Firebird/InterBase de PHP, et ibase_blobl_get : lit len octets de données dans un BLOB iBase ouvert.

En espérant que ça te sera utile :)

Problème de champ Blob

par tempora » 18 juil. 2007, 16:38

Bonjour à tous,

J'en appelle au plus doué d'entre vous, pour m'aider à sortir du mauvais pas.
En effet, je dois modifier une partie d'un site PHP suite à un changement de base de données.
Interbase > mysql.
Lors du changement, nous avions des fichiers externes à la base de données. Et nous avons réintégré
le contenu du fichier (il est en hexa à 1ere vu) dans un champs blob. Le problème c'est que je ne sais pas comment
lire le champs blob. Si je passe par une requête classique, les données ne semble pas cohérente.

Vous noterez que l'utilisation de la fonction ord qui comme je le pense permet de convertir l'hexa en caractère.

Voici l'ancien code.
Quelqu'un aurait il la gentillesse de me dire ce que je dois remplacer pour que ça fonctionne avec un blob ?
J'ai lu quelque part qu'il existait des fonctions de stream. Est ce utile ici ? Comment les utiliser ?

Merci à tous !

function ChercheActiviteHEXA($pchemin,$pInfoSurLinux,$pNumClient,$pNoUser,$pleJour,$pleMois,$plAnnee,$pBorneInf,$pBorneSup){
        
    $fp = fopen($pchemin,"r");    
    $TabHor= Array();
    $JourCherche= ((($pleMois-1)*31)+$pleJour);     
    $nb=1;
    while (!feof($fp)) 
     {
      	$donnees=fgets($fp,289);     	
     	 if (($nb>=$JourCherche) && ($nb<=($JourCherche+8)))
	{
       	 	for ($i=0;$i<24;$i++)
		{
			for ($j=0;$j<12;$j++)
			{  // 12 tranches de 5 min par heure
           	 			$value = ord( $donnees[$j+($i*12)-1] );
				 $indHeure=($i*60)+($j*5);
          	 			 if ($value=='') $value=11;
	  			 if ((($value>0)) &&(($indHeure>=$pBorneInf)&&($indHeure<=$pBorneSup)))  
   				 $TabHor[$nb-$JourCherche][$indHeure]=$value;  // Donne l'info en minute par journée
	 		 }
		}  
    
      	}
   	   if($nb>=($JourCherche+10)) 
    	 {
     	    fclose($fp);
       	  return $TabHor;	 
     	 }
      	$nb++;
    }  
    fclose($fp);
    return $TabHor;