如何使用php将图像和数据插入mysql?
我无法将数据保存到数据库中。我的连接详细信息和sql insert查询一切正常,图像也正在上载到文件夹,但我不知道为什么当我点击“上载”按钮时,数据和图像没有保存到数据库中。有人能帮我吗 我的php代码如何使用php将图像和数据插入mysql?,php,mysql,Php,Mysql,我无法将数据保存到数据库中。我的连接详细信息和sql insert查询一切正常,图像也正在上载到文件夹,但我不知道为什么当我点击“上载”按钮时,数据和图像没有保存到数据库中。有人能帮我吗 我的php代码 <?php include('server.php'); $userID = 1; if(isset($_SESSION['username'])) { $userName = $_SESSION['username']; $queryID = "SELECT id
<?php
include('server.php');
$userID = 1;
if(isset($_SESSION['username']))
{
$userName = $_SESSION['username'];
$queryID = "SELECT id from users WHERE username = '$userName'";
$resultID = $db->query($queryID);
$row=$resultID->fetch_assoc();
$userID = $row['id'];
}
if(isset($_POST['submit']))
{
$image = $_FILES['image']['name'];
$target = "images/".basename($image);
$eventName = $_POST['eventName'];
$eventDetail = $_POST['eventDetail'];
$eventDate = $_POST['eventDate'];
$eventTime = $_POST['eventTime'];
$queryImage = "INSERT INTO event_detail(eventName,eventDetails,eventDate,eventTime,imagePath,userID) VALUES('$eventName','$eventDetail','$eventDate','$eventTime','$image','$userID')";
mysqli_query($db,$queryImage);
if(move_uploaded_file($_FILES['image']['tmp_name'],$target))
{
$msg = "Image uploaded successfully";
}
else
{
$msg = "There is problem";
}
}
?>
html
<form method="post" enctype="multipart/form-data">
<label for="eventName">Event Name:<label>
<input type="text" id="eventName" name="eventName" ><br><br>
<label for="eventDetail">Event Detail:<label>
<textarea id="eventDetail" name="eventDetail" ></textarea><br><br>
<label for="eventDate">Event Date:<label>
<input type="text" id="eventDate" name="eventDate" ><br><br>
<label for="eventTime">Event Time:<label>
<input type="text" id="eventTime" name="eventTime" ><br><br>
<input type="file" id="image" name="image"><br><br>
<button type="submit" id="submit" name="submit" >Submit</button>
</form>
更改此选项
$queryImage = "INSERT INTO event_detail(eventName,eventDetails,eventDate,eventTime,imagePath,userID) VALUES ('$eventName','$eventDetail','$eventDate','$eventTime','$image','$userID')";
到
尝试回显您的$msg。得到了什么回应?是的,我得到了错误消息,因为我在else语句中设置了错误。您设置$msg取决于移动上载文件是否成功,这与您的数据库查询是否成功无关。您的建议将不起作用。应该对字符串值进行转义,而且生成sql insert也是个坏主意,应该使用参数绑定
$queryImage = "INSERT INTO event_detail(eventName,eventDetails,eventDate,eventTime,imagePath,userID) VALUES ($eventName,$eventDetail,$eventDate,$eventTime,$image,$userID)";