在php和mysql中插入信息和图像

在php和mysql中插入信息和图像,php,mysql,mysqli,Php,Mysql,Mysqli,请帮助伙计们,我有插入姓名等的代码。。对于插入图像,我无法组合代码 这是phpmyadmin中的输出,我只插入一个值 谢谢你们的帮助 <---!THIS CODE BELOW IT INSERT ID,NAME AND ETC ---> <?php require 'db.php'; $message = ''; $Error = ''; if (isset ($_POST['Attendee_id']) && isset($_POST['RFID_numb

请帮助伙计们,我有插入姓名等的代码。。对于插入图像,我无法组合代码

这是phpmyadmin中的输出,我只插入一个值

谢谢你们的帮助

<---!THIS CODE BELOW IT INSERT ID,NAME AND ETC --->
<?php
require 'db.php';
$message = '';
$Error = '';
if (isset ($_POST['Attendee_id'])  && 
isset($_POST['RFID_number']) &&
isset($_POST['Attendee_Name']) &&
isset($_POST['CourseOrDepartment']) &&
isset ($_POST['Status']) ) {

$Attendee_id = $_POST['Attendee_id'];
$RFID_number = $_POST['RFID_number'];
$Attendee_Name = $_POST['Attendee_Name'];
$CourseOrDepartment = $_POST['CourseOrDepartment'];
$Status = $_POST['Status'];
$sql = 'INSERT INTO tbl_listofregister(Attendee_id, 
RFID_number,Attendee_Name,CourseOrDepartment,Status)
VALUES(:Attendee_id, 
:RFID_number,:Attendee_Name,:CourseOrDepartment,:Status)';
$statement = $connection->prepare($sql);
if ($statement->execute([':Attendee_id' => $Attendee_id, ':RFID_number' => 
$RFID_number,':Attendee_Name' => $Attendee_Name,':CourseOrDepartment' => 
 $CourseOrDepartment,':Status' => $Status])) {
 $message = 'DATA INSERTED SUCCESSFULLY';
 }
 else
 {
 $Error = "ID SHOULD BE UNIQUE";
 }
 }
 ?>
 <---! HERE IS FOR IMAGE --->

 <?php

 $msg = '';
 if($_SERVER['REQUEST_METHOD']=='POST'){
 $image = $_FILES['Image']['tmp_name'];
 $img = file_get_contents($image);
 $con = mysqli_connect('localhost','root','','dbattendancelibrary') or 
 die('Unable To connect');
 $sql = "insert into tbl_listofregister (image) values(?)";
 $stmt = mysqli_prepare($con,$sql);
 mysqli_stmt_bind_param($stmt, "s",$img);
 mysqli_stmt_execute($stmt);
 $check = mysqli_stmt_affected_rows($stmt);
 if($check==1){
 $msg = 'Image Successfullly UPloaded';
 }else{
 $msg = 'Error uploading image';
 }
 mysqli_close($con);
 }
 ?>

这将把两个插入合并为一个操作。但我建议不要将图像存储在数据库中。而是存储相对于图像站点的路径

<?php
require 'db.php';
$message = '';
$Error = '';
if(isset($_POST['Attendee_id'])  && 
    isset($_POST['RFID_number']) &&
    isset($_POST['Attendee_Name']) &&
    isset($_POST['CourseOrDepartment']) &&
    isset($_POST['Status']) &&
    isset($_FILES['Image']['tmp_name']) &&
    $_SERVER['REQUEST_METHOD']=='POST') {

    $Attendee_id = $_POST['Attendee_id'];
    $RFID_number = $_POST['RFID_number'];
    $Attendee_Name = $_POST['Attendee_Name'];
    $CourseOrDepartment = $_POST['CourseOrDepartment'];
    $Status = $_POST['Status'];
    $image = $_FILES['Image']['tmp_name'];
    $img = file_get_contents($image);
    $sql = 'INSERT INTO tbl_listofregister(
        Attendee_id,
        RFID_number,
        Attendee_Name,
        CourseOrDepartment,
        Status,
        image)
    VALUES(:Attendee_id, 
        :RFID_number,
        :Attendee_Name,
        :CourseOrDepartment,
        :Status,
        :Image)';
    $statement = $connection->prepare($sql);
    if($statement->execute(
            [':Attendee_id' => $Attendee_id, 
            ':RFID_number' => $RFID_number,
            ':Attendee_Name' => $Attendee_Name,
            ':CourseOrDepartment' => $CourseOrDepartment,
            ':Status' => $Status,
            ':Image' => $img]
        )) {
        $message = 'DATA INSERTED SUCCESSFULLY';
    } else {
        $Error = "ID SHOULD BE UNIQUE";
    }
}
?>
在这些行之后,您可以为img添加此行

移动\u上传的\u文件$\u文件['file']['tmp\u name'],文件名/$\u文件['file']['name']

然后,将其作为$_FILES['file']['name']添加到查询中

在HTML文件中写下这一行


我希望它能很好地工作,因为没有凹痕;顺便提一下有什么问题吗?错误?你尝试的结果如何?你有点让我们悬在不好的地方…只需修改第一段代码,添加获取上传文件的行,然后将列图像及其值添加到INSERT语句中。为什么要将图像存储在表中?只需存储图像的路径。我给了你一票,只是为了修复完全损坏的凹痕。那么杰弗里,这个答案对你有用吗?如果是,请接受答案。这允许任何人将任何文件上载到文件系统上的任何位置。可能是个糟糕的计划。
$Attendee_id = $_POST['Attendee_id'];
$RFID_number = $_POST['RFID_number'];
$Attendee_Name = $_POST['Attendee_Name'];
$CourseOrDepartment = $_POST['CourseOrDepartment'];
$Status = $_POST['Status'];