PDO MySQL INSERT在将数据插入数据库之前删除文件扩展名

时间:2013-04-02 20:22:28

标签: php mysql pdo

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

我是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注入预防有关?我真的不知道。请帮忙!

1 个答案:

答案 0 :(得分:1)

数据库字段的大小必须足够大以容纳输入的数据。 I.E. Varchar(30)必须足够大以容纳图片的路径。尝试Varchar没有限制。