Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP move_将_文件上载到SQL_Php_Mysql_Sql - Fatal编程技术网

PHP move_将_文件上载到SQL

PHP move_将_文件上载到SQL,php,mysql,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_g

我对代码有困难。我正在尝试将文件上载到服务器文件夹并插入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第二个参数以移动上传的文件。上传的文件必须是服务器文件系统路径上的文件路径。
$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());
    }
}

请注意,传递到移动上传文件的路径不能是url。你收到错误了吗?哪一个?即使文件不存储在数据库中,它们至少会被上传到服务器吗?mysql已被弃用。使用mysqli或pdo@AMartinNo1你说得对。它没有上传到文件夹,但一旦我将其更改为仅上传/图像确实上传到服务器。现在,只要我能将其上传到db2 things上,第一步就是尝试使用mysqli而不是mysql。第二个是检查错误日志