【问题标题】:I can't insert an image on MySQL我无法在 MySQL 上插入图像
【发布时间】:2017-06-21 18:28:49
【问题描述】:

我正在尝试制作一个带有用于发布新帖子的表单的应用程序。

在这个表单中,我有 4 个参数(标题、描述/标签、完整描述和图像)。当我使用后端 PHP API 从应用程序接收数据时,我在 MySQL 数据库中插入一行。

基本上,我可以插入包含除图像之外的所有内容的行。这是我的代码:

<?php
try
{
   $db = new PDO('mysql:host=localhost;dbname=social;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
   die('Erreur : '.$e->getMessage());
}
// $security = new White\Security;

$post = $_POST;
$file_tmp= $_FILES['img'];
$img = file_get_contents($file_tmp);
echo $img;
$title = addslashes($post['title']);
$description = addslashes($post['description']);
$fullDesc = addslashes($post['full']);

$sql = "INSERT INTO posts (title, description, img, fullDesc, likes) VALUES ('$title', '$description', '$img', '$fullDesc', 0)";
echo $sql;
$db->exec($sql);
$status = array('status' => "success");
// header("Access-Control-Allow-Origin: *");
header("Location: form.php");

还有,这是我的桌子:https://i.stack.imgur.com/Ly3gP.png

我在 Google 上搜索了可以解决我的问题的东西,但我一无所获,所以这就是我在这个论坛上问这个问题的原因! ????

【问题讨论】:

  • 您真的要将图像放入表格中吗?为什么不直接上传然后保存在上传图片的唯一路径中?
  • 你试过使用准备好的语句吗?
  • @OTARIKI 因为,我有无限的数据库,只有 15GB 的磁盘。

标签: php mysql sql blob mariadb


【解决方案1】:

mysql_escape_string($img); 可能一无所获可以在百度上搜索一下..

【讨论】:

  • OP 需要在哪里添加此转义,您能否提供文档链接(以及转义功能的描述)?这个答案非常简短......
  • 我使用的是 PHP 7,所以没有 mysql 扩展
【解决方案2】:

使用 pdo 准备好的语句。

http://php.net/manual/en/pdo.prepared-statements.php

这将自动退出并保存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-07
    • 2017-06-28
    • 2013-01-16
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多