数据库PDO(PHP)上的数组值
当我试图编辑文件/图像内容时,我有一个奇怪的值,当我刷新数据库查看时,它有这个值 这是我编辑内容的代码数据库PDO(PHP)上的数组值,php,html,Php,Html,当我试图编辑文件/图像内容时,我有一个奇怪的值,当我刷新数据库查看时,它有这个值 这是我编辑内容的代码 if(isset($_POST['btn-update'])){ $id = $_GET['id']; $title = $_POST['title']; $content = $_POST['content']; move_uploaded_file($_FILES["image"]["tmp_name"],"uploaded_files/uplo
if(isset($_POST['btn-update'])){
$id = $_GET['id'];
$title = $_POST['title'];
$content = $_POST['content'];
move_uploaded_file($_FILES["image"]["tmp_name"],"uploaded_files/uploaded_files_articles_images/" . $_FILES["image"]["name"]);
move_uploaded_file($_FILES["files"]["tmp_fname"],"uploaded_files/uploaded_files_articles/" . $_FILES["files"]["fname"]);
$location = $_FILES['image']['name'];
$location1 = $_FILES['files']['fname'];
$sql = "UPDATE article SET title=:title, content=:content, image=:images, file=:files WHERE id=:id";
$query = $db_con->prepare($sql);
$query->bindParam(':id', $id, PDO::PARAM_INT);
$query->bindParam(':title', $title, PDO::PARAM_STR);
$query->bindParam(':content', $content, PDO::PARAM_STR);
$query->bindParam(':images', $location, PDO::PARAM_STR);
$query->bindParam(':files', $location1, PDO::PARAM_STR);
$query->execute();
header("Location: edit-index.php");
}
有什么问题吗。我在网上搜索过,但没有这样的。你有没有可能在同一个密钥下上传多个文件?在这种情况下,
$\u文件['xxx']['name']
等将是数组。你将不得不循环使用它们,并单独处理每一个
这就是一些原始的var\u dump()
/print\u r()
调试可能会有所帮助的地方 多亏了德文郡
我解决了我的问题
if(isset($_POST['btn-update'])){
$id = $_REQUEST['id'];
$title = $_POST['title'];
$content = $_POST['content'];
move_uploaded_file($_FILES["image"]["tmp_name"],"uploaded_files/uploaded_files_articles_images/" . $_FILES["image"]["name"]);
move_uploaded_file($_FILES["files"]["tmp_fname"],"uploaded_files/uploaded_files_articles/" . $_FILES["files"]["name"]);
$location = $_FILES['image']['name'];
$location1 = $_FILES['files']['name'];
var_dump($location);
var_dump($location1);
$sql = "UPDATE article SET title=:title, content=:content, image=:images, file=:files WHERE id=:id";
$query = $db_con->prepare($sql);
$query->bindParam(':id', $id, PDO::PARAM_INT);
$query->bindParam(':title', $title, PDO::PARAM_STR);
$query->bindParam(':content', $content, PDO::PARAM_STR);
$query->bindParam(':images', $location);
$query->bindParam(':files', $location1);
$query->execute();
header("Location: edit-index.php");
}
问题是这条线
$location1 = $_FILES['files']['fname'];
改成这个
$location1 = $_FILES['files']['name'];
如果您引用的是数组,那是因为您必须在bindParam语句中将数组绑定为字符串。数组无法转换为字符串。Owww我看到Wait试图删除
PDO::PARAM_STR
,但仍然是sameWell,这不是问题所在。问题是值是数组。无法将数组传递给数据库列。我不知道为什么该值为array
。嗯,我如何编辑图像或文件内容。不,实际上那里已经有一个文件,我正在尝试编辑它。一次只有一个文件