SQL Anywhere 数据库可以将任何类型的数据作为一个二进制大对象 (BLOB) 存储。如果 Web 浏览器可以读取该类型的数据,则 PHP 脚本可以从数据库方便地检索数据,并将其显示在动态生成的页上。
BLOB 字段通常用于存储非文本数据(如 GIF 或 JPG 格式的图像)。许多类型的数据无需使用第三方软件或通过数据类型转换,即可传递到 Web 浏览器。以下示例说明了将一个图像添加到数据库中,然后对其进行再次检索以在 Web 浏览器中显示的过程。
此示例类似于 SQL Anywhere 安装目录中的文件 image_insert.php 和 image_retrieve.php 中的示例代码。这些示例也说明了如何使用 BLOB 列存储图像。
<?php $conn = sasql_connect( "UID=DBA;PWD=sql" ) or die("Cannot connect to database"); $create_table = "CREATE TABLE images (ID INTEGER PRIMARY KEY, img IMAGE)"; sasql_query( $conn, $create_table); $insert = "INSERT INTO images VALUES (99, xp_read_file('ianywhere_logo.gif'))"; sasql_query( $conn, $insert ); $query = "SELECT img FROM images WHERE ID = 99"; $result = sasql_query($conn, $query); $data = sasql_fetch_row($result); $img = $data[0]; header("Content-type: image/gif"); echo $img; sasql_disconnect($conn); ?> |
为了能够将二进制数据从数据库直接发送到 Web 浏览器,脚本必须使用标头函数设置数据的 MIME 类型。在此示例中,系统会告诉浏览器该数据是一个 GIF 图像,以便浏览器正确显示该数据。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |