Convertir une requête SQL en format 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 : Convertir une requête SQL en format blob

par uspy62 » 28 juin 2008, 19:23

Ok en tout cas merci pour votre aide, je vais regardé si je peux utiliser le fichier php de typo3 qui sert à créer ce champ, mais le code de l'outil est assez complexe, c'est pour cette raison que je voulais tenter de passer à côté ...

par Calimero » 28 juin 2008, 19:15

Visiblement, la requête SQL est composée dynamiquement à partir des informations que tu as sous les yeux. Le plus simple pour toi est sûrement de trouver dans ton projet la fonction/classe existante qui permet de la recomposer.

La seule alternative serait de refaire ce code toi-même, et je devine à tes questions que tu n'es pas motivé pour le faire...

par uspy62 » 28 juin 2008, 19:09

Merci pour ta réponse, mais dans ce champ il y a une requête sql stockée :
a:1:{i:0;a:4:{s:8:"operator";s:0:"";s:4:"type";s:18:"FIELD_addressgroup";s:10:"comparison";s:2:"64";s:10:"inputValue";s:1:"1";}}

Cette requête correspond à ceci :
SELECT uid,pid,deleted FROM tt_address WHERE ( addressgroup = '1') AND tt_address.deleted=0

Mais je n'arrive pas à l'afficher avec la méthode que tu m'as donné ...

par Calimero » 28 juin 2008, 19:01

J'otiens ceci :
Array
(
[0] => Array
(
[operator] =>
[type] => FIELD_addressgroup
[comparison] => 64
[inputValue] => 1
)

)
ça veut dire que tu peux accéder à tes éléments comme ceci :
<?php
echo $blob2[0]['type']; // Affiche FIELD_addressgroup
$blob2[0]['inputValue']=0; // Place la valeur 0 dans la clé 'inputValue' du tableau
?>

par uspy62 » 28 juin 2008, 18:58

J'otiens ceci :
Array
(
[0] => Array
(
[operator] =>
[type] => FIELD_addressgroup
[comparison] => 64
[inputValue] => 1
)

)

par Calimero » 28 juin 2008, 18:54

Merci pour ta réponse, alors j'ai utilisé la fonction unserialize et voici ce que j'obtiens :
requete => a:1:{i:0;a:4:{s:8:"operator";s:0:"";s:4:"type";s:18:"FIELD_addressgroup";s:10:"comparison";s:2:"64";s:10:"inputValue";s:1:"1";}}
requete2 => Array

J'ai essayé d'affiché $blob[0] mais ça affiche Array aussi ...
Essaye ceci:
<pre><?php
print_r($blob2); 
?></pre>
pour visualiser et mieux comprendre la structure :-) Ce tableau contient d'autres tableaux. Pour manipuler cela tu es obligé d'avoir une bonne vue d'ensemble sur la structure des tableaux imbriqués.

par uspy62 » 28 juin 2008, 18:26

Merci pour ta réponse, alors j'ai utilisé la fonction unserialize et voici ce que j'obtiens :
requete => a:1:{i:0;a:4:{s:8:"operator";s:0:"";s:4:"type";s:18:"FIELD_addressgroup";s:10:"comparison";s:2:"64";s:10:"inputValue";s:1:"1";}}
requete2 => Array

Voici mon code php associé :
$blob=mysql_fetch_array($requete);
echo "titre => ".$blob['title']."<br>";
echo "requete => ".$blob['query']."<br>";
$blob2=unserialize($blob['query']);
echo "requete2 => ".$blob2."<br>";

J'ai essayé d'affiché $blob[0] mais ça affiche Array aussi ...

par Calimero » 27 juin 2008, 23:15

Ba quand je fais exporter la table en code sql voici le champ blob correspondant :
0x7374616769616972652e7765626d61737465724063616c6169732e6363692e66720d0a76616c6572652e6661676f744063616c6169732e6363692e6672
Je voudrais traduire ça en requete et inversement ... C'est possible ?

Et quand je fais un echo du champ correspondant j'obtiens ceci dans ma page php :
a:1:{i:0;a:4:{s:8:"operator";s:0:"";s:4:"type";s:18:"FIELD_addressgroup";s:10:"comparison";s:2:"64";s:10:"inputValue";s:1:"1";}}
Ce sont des données PHP sérialisées. Regarde du côté d' unserialize() .

par uspy62 » 27 juin 2008, 20:51

Ba quand je fais exporter la table en code sql voici le champ blob correspondant :
0x7374616769616972652e7765626d61737465724063616c6169732e6363692e66720d0a76616c6572652e6661676f744063616c6169732e6363692e6672
Je voudrais traduire ça en requete et inversement ... C'est possible ?

Et quand je fais un echo du champ correspondant j'obtiens ceci dans ma page php :
a:1:{i:0;a:4:{s:8:"operator";s:0:"";s:4:"type";s:18:"FIELD_addressgroup";s:10:"comparison";s:2:"64";s:10:"inputValue";s:1:"1";}}

par Berzemus » 27 juin 2008, 16:59

le blob enregistre aussi les données au format binaire..

par uspy62 » 27 juin 2008, 16:28

Oki merci du conseil et comment faire l'inverse, à savoir récupérer en chaine de caractère la requête en type BLOB ?

par caroube » 27 juin 2008, 16:09

Le format blob, c'est uniquement une zone qui a une limitation de taille beaucoup beaucoup plus importante qu'un char ou varchar. Tu peux donc y stocker du texte comme tu veux :il n'y a rien à convertir.

Convertir une requête SQL en format blob

par uspy62 » 27 juin 2008, 15:54

Bonjour à tous, je travaille actuellement sur un outil CMS très connu (typo3) et j'aimerai savoir comment on converti une requete SQL en format blob car dans la base de données des requêtes sont stockées au format blob et je dois en ajouter dans ce format.
Si quelqu'un a une idée ...
Merci d'avance