error in SQL syntax

8 отговора 283 прегледа
#1

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;

Пак не става

Отговор
в отговор на Error #2

Re: error in SQL syntax

Незнам каква е тази мания да се качват картинките в базата данни.
Според мен ефекта е никакъв, само тя става огромна по размер.

------------------------

Кой ли пък съм аз?
Отговор
в отговор на cтapeц roлoбpaд #3

Re: error in SQL syntax

Добре а ти какво предлагаш дай някакво друго радикално решение ако имаш целият съм в слух аз отначало мислех да копирам сминмките в ХОСТА и вместо blob поле да имам varchar и само да записвам пътя и името на файла но уви тази идея не ми допадна с времето!! Аз така правя Базата от Даанни при Делфи и кой да е сървър по-бързо се зареждат рисунките но ... за съжаление не пиша на делфи сега!!!

Отговор
в отговор на Error #4

Re: error in SQL syntax

В отговор на:

но уви тази идея не ми допадна с времето!!




време е да преосмислиш нещата.

С блоб полето вътре рекордсет се бави със секунди а и не само това.

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Отговор
в отговор на Error #5

Re: error in SQL syntax

ползвай base64_encode при вкарване и base64_decode при изкарване.

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Отговор
в отговор на Bълk #6

Re: error in SQL syntax

Значи ти предлагаш да използвам варианта с прехвурялането на снимките на самия сървър и да използвам Varchar поле! И да ги чета от Диска ако съм те разбрал правилно ?

Отговор
в отговор на Error #7

Re: error in SQL syntax

да, в този случай ще имаш само проблеми с бекъп защото ще имаш да копаш и директориятат със снимки и при вкарването им да се грижиш да няма еднакви имена. Но за сметка на това едното е, че сваляш наторване на базата, и другото е, че апач ще песка на усера контент 200 при повторно влизане и снимките няма да се дърпат отново от сървъра.

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!
Отговор
в отговор на Bълk #8

Re: error in SQL syntax

Това предложение наистина започва да ми харесва спрямо от гледна точка на скоростта. Благодаря много за съвета!

Отговор
в отговор на Error #9

Олеле мамо

Колеги, казахте му че не добре идея да записва картинките в база, а някой да се беше сетил да му каже че кода е пълно безумие ??????

Да се буферира, да хвърляш картинката към буфера и после да си я четеш от там е все едно от софия за пловдив да минеш за по-напряко през скопие ...

Error
Използвай за четене на файлове някоя друга функция която не изпраща всичко прочетено към OUTPUT-a
харесай си коя да е от ТУК

И второ - както може да се предположи - картинките съдържат в себе си двоични данни, както и всевъзможни символи за това когато я вкарваш в базата трябва да ги ескейпнеш. Опитай с addslashes да кажем

root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Отговор