** 编辑:我自己解决了这个问题。感谢您的帮助。 **
我正在尝试将图像文件插入到我的数据库进行测试,并发现我的代码已停止工作(它能够执行以前的操作)。
当我将图像提交到数据库时,它会附加图像ID,但不会附加“用户名”和“img_name”(文件名)字段 - 这两个字段只显示为空字符串。你能告诉我我的代码有什么问题吗?我怎么解决这个问题?非常感谢您的帮助
这是我的数据库摘要:
Database Name: photos
Table Name: images
Row Names: id[primary key], username, img_name
我的HTML和PHP代码用于将图像文件上传到数据库:
<form method="post" action="uploadindex5.php" enctype="multipart/form-data">
<input type="file" name="membimg">
<input type="submit" name="membupload">
</form>
if (isset($_POST['membupload'])) {
$username = $_SESSION['username'];
$membupload = $_POST['membupload'];
$membimg = $_POST['membimg']['name'];
$membtarg = "images/".basename($_FILES['membimg']['name']);
$membmuf = move_uploaded_file($_FILES['membimg']['tmp_name'], $membtarg);
$servername = "localhost";
$sroot = "root";
$password = "";
$dbname = "photos";
$conn = mysqli_connect($servername,$sroot,$password,$dbname);
if (mysqli_connect_errno()) {
throw new Exception(mysqli_connect_error(), mysqli_connect_errno());
}
$sql = "INSERT INTO images (username, img_name) VALUES ('$username', '$membimg')";
$result = mysqli_query($conn, $sql);
if ($membmuf) {
$msg = "Image uploaded";
} else {
$msg = "Upload failed";
}
}
答案 0 :(得分:0)
我为会话添加了虚拟值,并且发布值只需对其进行硬编码,看看PHP代码是否正常工作,然后在验证我的php代码正常工作后确定是否设置了这些变量。一旦你对那些有问题的变量进行了硬编码,你就可以运行PHP页面,而无需使用表单或ajax提交它,或者你正在调用它。如果您有PHP错误报告,PHP页面将报告错误。 Javascript控制台甚至可以告诉您是否存在500内部服务器错误,表明PHP脚本无法正常工作。