如何在 iOS 中使用 PHP MySql 将图像存储在数据库中

Posted

技术标签:

【中文标题】如何在 iOS 中使用 PHP MySql 将图像存储在数据库中【英文标题】:How to store image on database using Php MySql in iOS 【发布时间】:2013-01-16 10:12:23 【问题描述】:

我正在为需要在数据库中存储图像的应用程序制作一个 Web 服务部件。我已经成功存储了姓名、消息和其他一些信息,但是对于存储图像我使用了 blob,但仍然需要编写什么函数来保存。

【问题讨论】:

为什么将文件存储在 RDBMS 中,而不是存储在为文件存储和检索而优化的数据库中,即您的 文件系统 你试过什么?有许多相同的源代码。你搜索过吗? 嗨,Prateek 我已经搜索过,但是没有任何适合 iPhone 的东西,就像我总是从 iPhone 以 NSData 格式发送图像,所以我们必须编写什么查询才能接受这些图像。跨度> 以下是我用于存储姓名、电子邮件和密码的步骤,但不确定如何使用图像 mysql_connect(localhost,$username,$password); mysql_select_db($database) or die('无法找到数据库'); $firstname = $_GET['firstname']; $姓氏 = $_GET['姓氏']; $email = $_GET['email']; $password = $_GET['密码']; $query = "INSERT INTO test VALUES('','$firstname','$lastname','$email','$password')"; mysql_query($query) or die('Could not connect'); 【参考方案1】:

在数据库中存储图像的最佳方式是在表中创建二进制大对象列 (BLOB)。然后存储

<?php
$dbh = mysql_connect("localhost", "user");
mysql_select_db("test");
$data = file_get_contents($image_filename);
// This is important to avoid a ' to accidentally close a string
$data = mysql_real_escape_string($data);
mysql_query("INSERT INTO testblob(data) VALUES ('$data')");
?>

【讨论】:

以下是我用于存储姓名、电子邮件和密码的步骤,但不确定如何使用图像 mysql_connect(localhost,$username,$password); mysql_select_db($database) or die('无法找到数据库'); $firstname = $_GET['firstname']; $姓氏 = $_GET['姓氏']; $email = $_GET['email']; $password = $_GET['密码']; $query = "INSERT INTO test VALUES('','$firstname','$lastname','$email','$password')"; mysql_query($query) or die('Could not connect');【参考方案2】:

您要存储的图像尺寸是多少?我认为 BLOB 的最大值是 64kb。您可能需要使用 MEDIUMBLOB 列类型。

【讨论】:

以下是我用于存储姓名、电子邮件和密码的步骤,但不确定如何使用图像 mysql_connect(localhost,$username,$password); mysql_select_db($database) or die('无法找到数据库'); $firstname = $_GET['firstname']; $姓氏 = $_GET['姓氏']; $email = $_GET['email']; $password = $_GET['密码']; $query = "INSERT INTO test VALUES('','$firstname','$lastname','$email','$password')"; mysql_query($query) or die('Could not connect'); 在操作任何 MySQL 查询及其内容之前,您应该保护您的 $_GET 变量。 是的,所有值都将从 iPhone 应用程序发送,并且运行良好。 不,Ki Jey 的意思是从客户端传入的所有内容(例如$_GET 中的所有值)都应该使用mysql_real_escape_string 或等效项进行转义。

以上是关于如何在 iOS 中使用 PHP MySql 将图像存储在数据库中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 从 MySQL 数据库中存储和检索图像?

使用 PHP 将本机图像上传到 MySQL

如何使用 php 将图像上传到我的 mysql 数据库?

jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?

如何在 MySQL 中使用 Flutter 和 php 上传图片

如何使用 PHP 从 MYSQL 中插入和检索图像 blob?