php如何从数据库中读取多张图片的路径

php如何从数据库中读取多张图片的路径,第1张

<php

$pic=array();//实例1,数组存储

$pic2='';//实例2,变量存储

  while ($rows=mysql_fetch_assoc($rs))

{

$pic[] = $rows["jj_yulan"];//存进数组

$pic2 = "<img alt='' src='{$row[jj_yulan]}' />"; //存进变量,注意  是连接符

}

//输出

print_r($pic);

echo $pic2;

  >

procedure TSqlHelpWritePic(AResenderMark,AItem:string;AItemValue:TStream);

begin

if (AResenderMark='') or (AItem='') then exit;

try

if not m_ConnectionConnected then m_ConnectionConnected:=True;

m_ConnectionBeginTrans;

//showmessage(m_ConnectionConnectionString);

with m_QryWork do

begin

Close;

SqlClear;

SqlAdd('select from zxx_sqlhelperData where ResenderMark=:ResenderMark and Item=:Item');

ParametersParamByName('ResenderMark')Value:=AResenderMark;

ParametersParamByName('Item')Value:=AItem;

Open;

if RecordCount=0 then

begin

append;

FieldByname('ResenderMark')AsString:=AResenderMark;

FieldByName('Item')AsString:=AItem;

TBlobField(FieldByName('ValuePic'))LoadFromStream(AItemValue);

Post;

end

else

begin

Edit;

TBlobField(FieldByName('ValuePic'))Clear;

Post;

Edit;

TBlobField(FieldByName('ValuePic'))LoadFromStream(AItemValue);

Post;

end

end;

m_ConnectionCommitTrans;

except

on e:Exception do

begin

m_ConnectionRollbackTrans;

//如果发现是线程问题比如到了最大连接数则可递归保存

//if pos('',eMessage)>0 then

//begin

// sleep(300);

// WriteData(AResenderMark,AItem,AItemValue);

// exit;

//end;

messagebox(ApplicationMainFormHandle,pchar(eMessage),PAnsiChar(AResenderMark+'提示信息'),MB_OK or MB_ICONWARNING);

end;

end;

end;

第一步://获取当前选择的thispictureBox1Image = ImageFromStream(thisopenFileDialog1OpenFile());//获取当前的路径string path = openFileDialog1FileNameToString();//将制定路径的添加到FileStream类中FileStream fs = new FileStream(path, FileModeOpen, FileAccessRead);//通过FileStream对象实例化BinaryReader对象BinaryReader br = new BinaryReader(fs);//通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组byte[] imgBytesIn = brReadBytes(ConvertToInt32(fsLength));第二步://将添加到数据库中string sql="insert into pic values(@pic)";SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) };DBHelperGetExecuteQuery(sql, param);第三步://将从数据库中取出string sql="select from pic where id=0";SqlDataReader reader = DBHelperGetExecuteReader(sql, null);MemoryStream mss = null;

网上流传的代码是有错误的,修改记录时,不选择时,会发生异常!

以下为正确处理代码:

一、保存至数据库

byte[]

bytes

=

sdr[14]

is

DBNull

null

:

sdrGetSqlBinary(14)Value;

if

(bytes

==

null

||

bytesLength

==

0)

{

bookBooksImage

=

null;

}

else

{

MemoryStream

ms

=

new

MemoryStream(bytes);

bookBooksImage

=

ImageFromStream(ms);

msClose();

}

二、保存至数据库

byte[]

bytes=null;

if(bookBooksImage!=null)

{

bookBooksImageSave("tempdat");

FileStream

fs=new

FileStream("tempdat",FileModeOpen);

bytes=new

byte[fsLength];

fsRead(bytes,0,bytesLength);

fsClose();

}

sp[13]=new

SqlParameter("@BookImage",bytes);

i

=

DBHelperExecuteNonQuery(INSERT,

CommandTypeText,

sp);

三、窗口修改时,需要注意的地方(其它信息修改,未改会报错):

if

(picBookImage

!=

null)

{

Bitmap

img

=

new

Bitmap(picBookImageWidth,

picBookImageHeight);

Graphics

g

=

GraphicsFromImage(img);

gDrawImage(picBookImage,

new

Point(0,

0));

imgSave("adat");

FileStream

fs

=

new

FileStream("adat",FileModeOpen);

byte[]

bs

=

new

byte[fsLength];

fsRead(bs,

0,

bsLength);

bBookImage

=

ImageFromStream(fs);

fsClose();

}

if opendialog1Execute then

begin

ADOQuery1Close;

ADOQuery1SQLText:='select pic from text where ccc = ''' + trim(Edit1Text) +'''';

ADOQuery1open;

(ADOQuery1Fields[0] as TBlobField)SaveToFile('d:\\photo\\aaa,jpg');

以上就是关于php如何从数据库中读取多张图片的路径全部的内容,包括:php如何从数据库中读取多张图片的路径、Delphi求将image中的图片保存到数据库中代码、如何将图片插入到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9341434.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存