error in SQL syntax
8 отговора
283 прегледа
error in SQL syntax
Имам поле с пътя на файл от диска което с някаква рисунка и се опитвам да го вмъкна в Blob поле в Базата от данни но с следния код който е долу не се получава??? ЗАЩО ????
$nameimage=$Path;
ob_start();
readfile($nameimage);
$image_data = ob_get_contents();
ob_end_clean();
unlink($nameimage);
$result = mysql_query("INSERT INTO test(Name,Pic,SECOND,FIRST) VALUES('$PicName','$image_data','$One','$Two' );")
or die(mysql_error());
като го покажа с echo ми показва съдържанието на файла но явно обработвам файла по грешен начин!
Пробвах вариант с ::
ob_start();
imagejpeg( $newimage, NULL, 100 );
$ImageData = ob_get_contents();
ob_end_clean;
Пак не става
$nameimage=$Path;
ob_start();
readfile($nameimage);
$image_data = ob_get_contents();
ob_end_clean();
unlink($nameimage);
$result = mysql_query("INSERT INTO test(Name,Pic,SECOND,FIRST) VALUES('$PicName','$image_data','$One','$Two' );")
or die(mysql_error());
като го покажа с echo ми показва съдържанието на файла но явно обработвам файла по грешен начин!
Пробвах вариант с ::
ob_start();
imagejpeg( $newimage, NULL, 100 );
$ImageData = ob_get_contents();
ob_end_clean;
Пак не става
Re: error in SQL syntax
Незнам каква е тази мания да се качват картинките в базата данни.
Според мен ефекта е никакъв, само тя става огромна по размер.
------------------------
Кой ли пък съм аз?
Според мен ефекта е никакъв, само тя става огромна по размер.
------------------------
Кой ли пък съм аз?
Re: error in SQL syntax
Добре а ти какво предлагаш дай някакво друго радикално решение ако имаш целият съм в слух аз отначало мислех да копирам сминмките в ХОСТА и вместо blob поле да имам varchar и само да записвам пътя и името на файла но уви тази идея не ми допадна с времето!! Аз така правя Базата от Даанни при Делфи и кой да е сървър по-бързо се зареждат рисунките но ... за съжаление не пиша на делфи сега!!!
Re: error in SQL syntax
В отговор на:но уви тази идея не ми допадна с времето!!
време е да преосмислиш нещата.
С блоб полето вътре рекордсет се бави със секунди а и не само това.
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Re: error in SQL syntax
ползвай base64_encode при вкарване и base64_decode при изкарване.
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Re: error in SQL syntax
Значи ти предлагаш да използвам варианта с прехвурялането на снимките на самия сървър и да използвам Varchar поле! И да ги чета от Диска ако съм те разбрал правилно ?
Re: error in SQL syntax
да, в този случай ще имаш само проблеми с бекъп защото ще имаш да копаш и директориятат със снимки и при вкарването им да се грижиш да няма еднакви имена. Но за сметка на това едното е, че сваляш наторване на базата, и другото е, че апач ще песка на усера контент 200 при повторно влизане и снимките няма да се дърпат отново от сървъра.
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Re: error in SQL syntax
Това предложение наистина започва да ми харесва спрямо от гледна точка на скоростта. Благодаря много за съвета!
Олеле мамо
Колеги, казахте му че не добре идея да записва картинките в база, а някой да се беше сетил да му каже че кода е пълно безумие ??????
Да се буферира, да хвърляш картинката към буфера и после да си я четеш от там е все едно от софия за пловдив да минеш за по-напряко през скопие ...
Error
Използвай за четене на файлове някоя друга функция която не изпраща всичко прочетено към OUTPUT-a
харесай си коя да е от ТУК
И второ - както може да се предположи - картинките съдържат в себе си двоични данни, както и всевъзможни символи за това когато я вкарваш в базата трябва да ги ескейпнеш. Опитай с addslashes да кажем
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Да се буферира, да хвърляш картинката към буфера и после да си я четеш от там е все едно от софия за пловдив да минеш за по-напряко през скопие ...
Error
Използвай за четене на файлове някоя друга функция която не изпраща всичко прочетено към OUTPUT-a
харесай си коя да е от ТУК
И второ - както може да се предположи - картинките съдържат в себе си двоични данни, както и всевъзможни символи за това когато я вкарваш в базата трябва да ги ескейпнеш. Опитай с addslashes да кажем
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy