3

好的。我有一段时间没有使用堆栈交换,所以请耐心等待。我对此进行了详尽的研究,但找不到答案。

一般来说,我是 PDO 语句的新手,并且正在将它用于我正在开发的站点,该站点将包含一个图像上传器。现在,我有这个功能:

function addImage($listing_id, $location) {
    $sql = $this->connection->prepare("INSERT INTO images (listing_id, location) VALUES (?, ?)");
      $sql->execute(array($listing_id, $location));
   }

现在,$location进入这个函数是正确的——它是一个图像位置,例如C:\image.pnghttp://test.com/image.jpg。在这一点上是正确的。但是,在插入时,图像扩展名将被清理,仅输入"C:\image""http://test.com/image"进入数据库,这当然是稍后我需要使用该信息来获取和/或修改图像时的问题。我认为这与 PDO 中的 sql 注入预防有关吗?我真的不知道。请帮忙!

4

1 回答 1

1

数据库字段的大小必须足够大以容纳输入的数据。IE Varchar(30) 必须足够大以保存图片的路径。无限制地尝试 Varchar。

于 2013-04-02T22:18:32.820 回答