webForumDet fria alternativet

Hämta data från BLOB

Databaser & SQLur Databashanterare & SQL

0 svar · 977 visningar · startad av Inferis

Medlem sedan sep. 2000670 inlägg
Frågan#1

Hej!
Håller på att testa OwnCloud. Där har jag installerat appen Contacts. Jag skulle vilja hämta bilder från databasen i ett BLOB-fält.
Det är lagrat både bilddata och text i detta fält. Problemet är att antingen syns ingenting eller så syns all data vilket är väldigt mycket text.
Går det på något sätt att avgöra vad som är bilden och vad som är det andra?
Det listas kontaktuppgifter först som TEL;TYPE=HOME:01012121212 EMAIL;TYPE=mail@mail.se ADR;TYPE=WORK:;;
Det som är bild kommer efter:
PHOTO;TYPE=JPEG;VALUE=BINARY;ENCODING=(Här är väldigt mycket olika tecken sen)

Denna koden funkar inte alls.

<?php 
//connect 
mysql_connect("localhost","root","123456789") or die(mysql_error()); 
mysql_select_db("testdb") or die(mysql_error()); 

$id = addslashes($_REQUEST['id']); 

$image = mysql_query("SELECT * FROM oc_contacts_cards WHERE id=$id"); 
$image = mysql_fetch_assoc($image); 
$image = $image['carddata']; 

header("Content-type: image/jpeg"); 

echo $image; 

?>

Denna koden funkar så pass att den presenterar all data som finns i BLOBen.

<?php
$conn = mysql_connect("localhost", "root", "123456789");
mysql_select_db("testdb") or die(mysql_error());
if(isset($_GET['bildid'])) {
$sql = "SELECT * FROM oc_contacts_cards WHERE id=" . $_GET['bildid'];
$result = mysql_query("$sql") or die("<b>Fel:</b> Problem att hämta bild<br/>" . mysql_error());
$row = mysql_fetch_array($result);
//header("Content-type: (image/jpg)");
//echo 'header("Content-type: image/jpeg")';
//echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['carddata'] ) . '" />';
echo $rows[$i]['image']=base64_encode($rows[$i]['image']);
echo "Data:<br>";
echo $row["carddata"];
}
mysql_close($conn);
?>
129 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)