使用一个表单上传电子邮件和图像,使用 PHP 将路径和文本存储在数据库中


Upload Email and Image with one form, storing path and text in database with PHP

<form method="post"  enctype="multipart/form-data" action="saveimage.php">
    <table>
        <tr>
            <td width="250">Email: (will not be publicized)</td>
            <td>
                <input name="email" type="text" id="email" /><br />
            </td>
        </tr>
        <tr>
            <td width="250">Image</td>
            <td>
                <input name="image" type="file" id="file">
            </td>
        </tr>
        <tr>
            <td width="250"> </td>
            <td>
                <input name="add" type="submit" id="add" value="Order">
            </td>
        </tr>
    </table>
</form>
<?php
    if(isset($_POST['add'])) {
        $dbhost = 'localhost';
        $dbuser = 'iluxcoke_myuser';
        $dbpass = 'qwert';
        $db_name = 'inmoti6_mysite';
        $tbl_name = 'images_tbl';
        $ftp_user = 'admin@ilux.co.ke';
        $ftp_pass = 'qwert2012';
        $conn = mysql_connect($dbhost, $dbuser, $dbpass);
        if(! $conn ) {
            die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("$db_name")or die("cannot select DB");
        $ftp_server = "ftp.ilux.co.ke";
        $ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
        // login with username and password
        $login_result = ftp_login($ftp_conn, $ftp_user, $ftp_pass);
        // check connection
        if ((!$ftp_conn) || (!$login_result)) {
            echo "FTP connection has failed!";
            echo "Attempted to connect to $ftp_server for user $ftp_user";
            exit;
        } else {
            echo "Connected to $ftp_server, for user $ftp_user";
        }
        $Email = $_POST['email'];
        $filePath="http://www.iluxcoke/public_html/admin" . $_FILES["file"]["name"];
        // $Type = $_POST['type'];
        if ($_FILES["file"]["error"] > 0) {
            echo "Error: NO CHOSEN FILE <br />";
            echo"INSERT TO DATABASE FAILED";
        } else {
            move_uploaded_file($_FILES["file"]["tmp_name"], __DIR__ . "/upload/" . $_FILES["file"]["name"]);
            echo"SAVED<br>";
            $sql = "INSERT INTO `images_tbl` ( `id`, `email`, `image`, `submission_date`) VALUES ('$id','$Email','$filePath', curdate())";
            if(mysql_query($query_image)) {
                echo "Stored in: " . "uploads" . $_FILES["file"]["name"];
            } else {
                echo 'File name not stored in database';
            }
        }
    }
?>

我正在尝试允许用户输入电子邮件和图像并将其上传到我的网站管理员文件夹,但我遇到了问题,它显示此错误:

Connected to ftp.ilux.co.ke, for user admin@ilux.co.keSAVED
    File name not stored in database

我认为您在 mysql_query(( 函数中使用了错误的 SQL 字符串。您使用的是 $query_image,并且查询在 $sql 变量中定义。

试试这个:

//HERE IS THE CHANGE
if(mysql_query($sql))
//------------------
{
echo "Stored in: " . "uploads" . $_FILES["file"]["name"];
}
else
{
 echo 'File name not stored in database';
}