首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP sqlsrv从数据库插入/读取blob (varbinary)字段示例

PHP sqlsrv从数据库插入/读取blob (varbinary)字段示例:

插入Blob字段示例:

代码语言:php
复制
<?php
$serverName = "your_server_name";
$connectionOptions = array(
    "Database" => "your_database_name",
    "Uid" => "your_username",
    "PWD" => "your_password"
);

$conn = sqlsrv_connect($serverName, $connectionOptions);

if ($conn === false) {
    die(print_r(sqlsrv_errors(), true));
}

$filePath = "path_to_your_blob_file";
$fileContent = file_get_contents($filePath);
$sql = "INSERT INTO your_table (blob_column) VALUES (?)";
$params = array(
    array($fileContent, SQLSRV_PARAM_IN, SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_BINARY), SQLSRV_SQLTYPE_VARBINARY('max'))
);

$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
    die(print_r(sqlsrv_errors(), true));
}

sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>

读取Blob字段示例:

代码语言:php
复制
<?php
$serverName = "your_server_name";
$connectionOptions = array(
    "Database" => "your_database_name",
    "Uid" => "your_username",
    "PWD" => "your_password"
);

$conn = sqlsrv_connect($serverName, $connectionOptions);

if ($conn === false) {
    die(print_r(sqlsrv_errors(), true));
}

$sql = "SELECT blob_column FROM your_table WHERE id = ?";
$params = array(1); // Assuming the ID of the row you want to retrieve is 1

$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
    die(print_r(sqlsrv_errors(), true));
}

if (sqlsrv_fetch($stmt)) {
    $blobData = sqlsrv_get_field($stmt, 0, SQLSRV_PHPTYPE_STREAM(SQLSRV_ENC_BINARY));
    $filePath = "path_to_save_blob_file";
    file_put_contents($filePath, $blobData);
}

sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>

以上示例代码演示了如何使用PHP的sqlsrv扩展从数据库插入和读取Blob字段(varbinary类型)。在插入Blob字段时,我们首先建立数据库连接,然后使用file_get_contents函数读取Blob文件的内容,并将其作为参数绑定到INSERT语句中。在读取Blob字段时,我们执行SELECT语句并使用sqlsrv_get_field函数获取Blob字段的内容,并将其保存到指定的文件路径中。

这些示例代码仅供参考,实际使用时需要根据自己的数据库和表结构进行相应的修改。另外,腾讯云提供了云数据库SQL Server服务,您可以通过以下链接了解更多相关产品信息:

请注意,以上答案仅供参考,具体实现方式可能因环境和需求而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • python【第十二篇】Mysql基础

    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。 所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。 RDBMS即关系数据库管理系统(Relational Database Management System)的特点: (1)数据以表格的形式出现 (2)每行为各种记录名称 (3)每列为记录名称所对应的数据域 (4)许多的行和列组成一张表单 (5)若干的表单组成database

    02

    第四章《MySQL的数据类型和运算符》

    一、数据类型介绍: (1)数据表由多个字段组成,每一个字段都指定了自己的数据类型,指定了数据类型后,也就决定了向字段插入数据的内容; (2)不同的数据类型也决定了MySQL在存储数据的时候使用的方式,以及在使用数据的时候选择什么运算符进行运算; (3)数值数据类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE、DECIMAL (4)日期/时间数据:YEAR、TIME、DATE、DATETIME、TIMESTAMP (5)字符串数据类型:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET 二、数值类数据类型: (1)数值类数据类型主要用来存储数字,不同的数值类型提供不同的取值范围,可以存储的值范围越大,需要的存储空间也越大; (2)数值型分为:整数类型,浮点数类型,定点数类型;

    01

    第四章《MySQL的数据类型和运算符》

    一、数据类型介绍: (1)数据表由多个字段组成,每一个字段都指定了自己的数据类型,指定了数据类型后,也就决定了向字段插入数据的内容; (2)不同的数据类型也决定了MySQL在存储数据的时候使用的方式,以及在使用数据的时候选择什么运算符进行运算; (3)数值数据类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE、DECIMAL (4)日期/时间数据:YEAR、TIME、DATE、DATETIME、TIMESTAMP (5)字符串数据类型:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET 二、数值类数据类型: (1)数值类数据类型主要用来存储数字,不同的数值类型提供不同的取值范围,可以存储的值范围越大,需要的存储空间也越大; (2)数值型分为:整数类型,浮点数类型,定点数类型;

    02
    领券