PHP move_uploaded_file 到 SQL

标签 php mysql sql

我在编写代码时遇到困难。我正在尝试将文件上传到服务器文件夹并插入到 SQL BLOB。两者都不起作用。有什么建议么?

<?php mysql_connect ("host","user","pass") 
    mysql_select_db("pics") 

    $image= addslashes($_FILES['file']['tmp_name']); 
    $name= addslashes($_FILES['file']['name']); 
    $image= file_get_contents($image); 
    $image= base64_encode($image); 

    if (move_uploaded_file ($_FILES["file"]["tmp_name"], "http://www.website.com/uploads/".$_FILES["file"]["name"])) { 
    $insert = mysql_query ("INSERT INTO pics (name,file) values ('$name','$image')"); 
    } 
    else "error uploading query to database"; 

    ?>

最佳答案

首先(同意@AMartinNo1)不要使用mysql函数,使用PDO。
此外(再次同意@AMartinNo1)move_uploaded_file的第二个参数必须是服务器上文件的路径(文件系统路径)。

$pdo = new PDO('mysql:dbname=pics;host=host', 'user', 'pass');

$image = addslashes($_FILES['file']['tmp_name']); 
$name = addslashes($_FILES['file']['name']); 
$image = file_get_contents($image); 
$image = base64_encode($image);

if (move_uploaded_file($_FILES['file']['tmp_name'], '/tmp/myUploadedFile')) {
    $s = $dbh->prepare('INSERT INTO pics (name, file) VALUES (:name, :file)');
    $s->bindValue(':name', $name, PDO::PARAM_STR);
    $s->bindValue(':file', $image, PDO::PARAM_STR);
    if (!$s->execute()) {
        throw new Exception($s->errorInfo());
    }
}

关于PHP move_uploaded_file 到 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280273/

相关文章:

PHP:将月份添加到日期,但不超过该月的最后一天

php - 在 url 中传递一个百分比 (%) 符号并使用 php 获取它的确切值

java - 使用 hibernate select 获取时间戳字段的错误时间

SQL 计数正则表达式匹配 (PostgreSQL)

php - 在/不发送请求之前检查由 PHP SoapClient 调用创建的 XML

php - foreach 循环获取元素的值

php - 使用 SQL 对不同值进行分组设置状态值

php - 如何使用 php 在 phpmyadmin 中插入数组的数组

php - 我如何使用 Jquery EasyUI 将我的文件上传到 DB mysql?

sql - 周三至周三报告