如何在 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 将图像存储在数据库中的主要内容,如果未能解决你的问题,请参考以下文章
jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?