Aider à lire des données d'image binaire de SQL Server dans PHP

Il semble que je ne trouve pas de moyen de lire des données binaires du serveur SQL dans PHP. Je travaille sur un projet où j'ai besoin de pouvoir stocker l'image directement dans la table SQL, Et pas dans le système de fichiers.

Actuellement, j'utilise une telle demande comme celle-ci:

Insérer myTable /document/
SELECT * FROM
Fonction openrowset/Wholesale n-c: \ image.jpg ', paramètre single_blob/ comme BLAH

Cela fonctionne très bien d'insérer l'image dans la table, mais je n'ai pas pensé la façon de le supprimer et de retourner mon image.

Je le fais avec PHP, Et finalement, je dois faire une procédure stockée de cela, mais quelqu'un peut-il éclairer comment obtenir ces données binaires /
varbinary/MAX/

/ Et pour générer l'image à la volée.

Je m'attendais à utiliser l'opérateur
SELECT

Et ajoutez du type de contenu aux titres, indiquant qu'il s'agit d'une image, mais cela ne fonctionne tout simplement pas. Au lieu de cela, la page affichera simplement le nom du fichier avec lequel j'ai rencontré dans le passé et comprendra que ceci est une erreur avec les données de l'image.

EDIT: Je pense que je l'ai compris. Il y avait une sorte de problème quand SQL Server Envoyé seulement maximum 8000 L'octet lors de la lecture de la procédure stockée, cela a donc conduit au fait que les images que j'ai testées étaient cassées.

$q = "Get_Picture_Test_SP @pk_rms_id=1443546";
$res = mssql_query/$q/;
$row = mssql_fetch_assoc/$res/;
$image = $row['picture'];
function hex2bin/$h/
{
if /!is_string/$h// return null;
$r='';
for /$a=0; $a<strlen "content-type:="" $a+="2/" $h="" $image="hex2bin/$image/;" $image;="" $r.="chr/hexdec/$h{$a}.$h{/$a+1/}//;" $r;="" ;="" ?="" exit;="" gif"="" header="" image="" print="" return="" {="" }="">
C'est comme ça que je devais afficher l'image. Merci pour des conseils mentionnés hex, Qui m'a permis de comprendre ce qui n'allait pas.
</strlen>
Invité:

Hannah12

Confirmation de:

Sans expérience avec SQLServer, Mais j'ai travaillé avec BLOBs dans MySQL. Vous avez deux options,

Données binaires à l'écran pour travailler dans la requête SQL. Vous pouvez le faire en utilisant addslashes// Avant d'insérer des données et stripslashes//, Quand ils reviennent.

Utilisation de la syntaxe hex Demander SQL.

Pas sûr que c'est standard SQL, Mais B. MySQL Tu peux lire BLOB dans hex comme ça,


select hex/image/ from table;


Vous pouvez brûler des données binaires comme hex dans SQL, par exemple X'1234ABCD'.

PHP Fournit hex2bin/bin2hex, Donc, vous pouvez facilement convertir.

Pour répondre aux questions, connectez-vous ou registre