我的数据库已连接,因为其他输入字段将数据插入到数据库表中。但是,尽管一部分代码可以在localhost上运行,但由于某种原因它无法工作。我不确定为什么会这样。两个表都使用相同的连接文件和变量。这是不起作用的代码:
<?php
include 'config.php';
$name = $fileName = "";
$sql = "INSERT INTO output_Images(name, fileName, sub, author) VALUES (?,?,?,?)";
$sqll = "SELECT imageId FROM output_Images WHERE fileName = ?";
$fileSize = $_FILES['pdf_file']['size'];
if(isset($_SESSION['loggedin'])){
if(empty($_POST['title']) && empty($_POST['subject'])){
$err = "Input Worksheet Info <br><br>";
}else{
if(isset($_POST["submit"])){
if($stmt = mysqli_prepare($conn, $sqll)){
mysqli_stmt_bind_param($stmt, "s", $fileName);
$fileName = trim($_FILES["pdf_file"]["name"]);
if(mysqli_stmt_execute($stmt)){
mysqli_stmt_store_result($stmt);
if(mysqli_stmt_num_rows($stmt) == 1){
$err = "This file name is already taken. <br><br>";
} else{
$fileName = $_FILES['pdf_file']['name'];
$title = $_POST["title"];
$subject = $_POST["subject"];
$author = $_SESSION["username"];
}
}
if($stmt = mysqli_prepare($conn, $sql)){
mysqli_stmt_bind_param($stmt, "ssss", $title, $fileName, $subject, $author);
if(mysqli_stmt_execute($stmt)){
$err = "success";
}}
}
}
}
}
?>
现在是输入到create.php文件中的输入:
<?php
include 'create.php';
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body>
<div class = "title">
<?php echo $_SESSION['err']; ?>
</div>
<form class = "main" method="POST" role="form" enctype="multipart/form-data"autocomplete="off">
<input type="file" name="pdf_file" id="pdf_file" class = "inputfile"accept="application/pdf"required><br><br>
<input type="text" name="title" placeholder = "Worksheet name" pattern="^[A-Za-z0-9 ]+$"maxlength = "28"required><br><br>
<select name="subject" required>
<option value="">Choose subject</option>
<option value="English">English</option>
<option value="History">History</option>
<option value="Math">Math</option>
<option value="Science">Science</option>
</select><br><br><br>
<button id="send" type="submit" name="submit" class="btn btn-success">Submit</button>
</form>
</body>
</html>
我找到了答案。我是个白痴,很抱歉浪费大家的时间,但是显然phpmyadmin表在使用在线托管服务时区分大小写,但由于某种原因不在本地主机上。