无法从mysql数据库中检索图像

时间:2017-09-21 06:53:30

标签: php mysql file

我正在创建一个客户管理系统,我已经在我的数据库中添加了一个图像,但现在我想要的是在我的编辑页面上检索这些图像,但我的代码不起作用可能是我'我犯了错误,因为我是这个领域的新人。 在这种情况下请帮助我。

没有错误显示,但图像没有显示。

谢谢!

<?php
require_once('includes\database.php');
?>

<?php
$id = $_GET['id'];

$query = "SELECT * FROM customer
                INNER JOIN customer_address
                ON customer.id=customer_address.customer
                WHERE customer.id=$id";
$mysqli->query($query);

if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $name = $row['name'];
        $email = $row['email'];
        $phone = $row['phone'];
        $password = $row['password'];
        $image = $row['image'];
        $address = $row['address'];
        $Country = $row['Country'];
        $City = $row['City'];
        $Zip_code = $row['Zip_code'];
    }

    $result->close();
} else {

    echo "error";
}
?>

<?php
if ($_POST) {

    $id = $_GET['id'];

    $name = mysqli_real_escape_string($mysqli, $_POST['name']);
    $email = mysqli_real_escape_string($mysqli, $_POST['email']);
    $phone = mysqli_real_escape_string($mysqli, $_POST['phone']);
    $password = md5(mysqli_real_escape_string($mysqli, $_POST['password']));
    $image = $_FILES['image']['name'];
    $tmp_image = $_FILES['image']['tmp_name'];
    $address = mysqli_real_escape_string($mysqli, $_POST['address']);
    $Country = mysqli_real_escape_string($mysqli, $_POST['Country']);
    $City = mysqli_real_escape_string($mysqli, $_POST['City']);
    $Zip_code = mysqli_real_escape_string($mysqli, $_POST['Zip_code']);

    $sql = "UPDATE customer SET 
        name='$name',
        email='$email',
        phone='$phone',
        password='$password',
        image='$image'
        WHERE id=$id";

    $mysqli->query($sql);

    $sql = "UPDATE customer_address SET 
        address='$address',
        Country='$Country',
        City='$City',
        Zip_code='$Zip_code'
        WHERE customer=$id";

    $mysqli->query($sql) or die();
    $msg = "Record updated";
    header('url: index.php');

    exit;
}
?>

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>CManager | Edit Customer</title>
        <!-- Bootstrap core CSS -->
        <link href="css/bootstrap.min.css" rel="stylesheet">
        <!-- Custom styles for this template -->
        <link href="css/jumbotron-narrow.css" rel="stylesheet">
    </head>
    <body>
        <div class="container">
            <div class="header">
                <ul class="nav nav-pills pull-right">
                    <li class="active"><a href="index.php">Home</a></li>
                    <li><a href="add_customer.php">Add Customer</a></li>
                </ul>
                <h3 class="text-muted">Store CManager</h3>
            </div>

            <div class="row marketing">
                <div class="col-lg-12">
                    <h2>Edit Info</h2>
                    <table class="table table-striped">

                        <form method="POST">
                            <table>
                                <tr>
                                    <td>Name:</td>
                                    <td><input type="text" name="name" required="true" value="<?php echo $name; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Email:</td>
                                    <td><input type="email" name="email" required="true" value="<?php echo $email; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Phone:</td>
                                    <td><input type="phone" name="phone" required="true" value="<?php echo $phone; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Password:</td>
                                    <td><input type="password" name="password" required="true" value="<?php echo $password; ?>"></td>
                                </tr>

                                <tr>
                                    <td>Image:</td>
                                    <td><img src="<?php echo $row->image; ?>" height="100px" height="100px"></td>
                                </tr>

                                <tr><td><h2>Other Details:</h2><td></tr>
                                <tr>
                                    <td>Address:</td>
                                    <td><input type="text" name="address" value="<?php echo $address; ?>"></td>
                                </tr>
                                <tr>
                                    <td>Country:</td>
                                    <td><input type="text" name="Country" value="<?php echo $Country; ?>"></td>
                                    </select> 
                                </tr>
                                <tr>
                                    <td>City:</td>
                                    <td><input type="text" name="City" value="<?php echo $City; ?>"></td>
                                    </select>
                                </tr>
                                <tr>
                                    <td>Zip Code:</td>
                                    <td><input type="text" name="Zip_code" value="<?php echo $Zip_code; ?>"></td>
                                </tr>

                                <tr><td><input type="submit" value="update" name="submit"></td></tr>

                            </table>
                        </form>
                    </table>
                </div>
            </div>
            <div class="footer">
                <p>&copy; Company 2014</p>
            </div>
        </div> 
    </body>
</html> 

3 个答案:

答案 0 :(得分:1)

当您从查询$image = $row['image'];获得图片的价值时,您应该使用$image代替$row['image']$row->image

尝试以下代码行,这可能对您有帮助。

<td><img src="path/to/image/<?php echo $image; ?>" height="100px" height="100px"></td>

答案 1 :(得分:1)

试试这个

<tr><td>Image:</td><td><img src="<?php echo $image; ?>" height="100px" height="100px"></td>

希望这对你有用

答案 2 :(得分:0)

如果将图像名称保存在数据库表中并在目录文件夹中上传图像会更好,那么您可以轻松完成。但在你的问题中首先定义$ image

<?php
require_once('includes\database.php');

$image = '';
$id= $_GET['id'];

/* your code */

然后更新

<td><img src="<?php echo $row->image; ?>" height="100px" height="100px"></td>

<td><img src="<?php echo $image; ?>" height="100px" height="100px"></td>

如果您的$ image变量包含文件夹中的完整图片路径和图片上传,那么它将起作用,或使用youruploadfolder/<?php echo $image; ?>