PHP move_将_文件上载到SQL
我对代码有困难。我正在尝试将文件上载到服务器文件夹并插入SQL BLOB。两者都不起作用。有什么建议吗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
<?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。第二个是检查错误日志