PHP将img插入数据库

时间:2016-12-09 22:19:51

标签: php mysql

我想通过PHP查询将一些数据插入数据库。我有类似的东西。

string.rstrip()

我想要输入第三个值

$zp='INSERT INTO `user`(`name`, `password`, `avatar`) VALUES ("'.$_POST['login'].'","'.$_POST['password'].'")';

但我不知道如何在PHP查询中写这个

1 个答案:

答案 0 :(得分:0)

您需要创建上传功能,并且只保存存储图像的路径。

在数据库中创建一个表,列名很少:filepath,mime,size。

一个小例子:index.php

if(isset($_FILES['file']['name'])){
    $name = $_FILES['file']['name'];
    $mime = $_FILES['file']['type'];
    $size = $_FILES['file']['size'];
    $tmp  = $_FILES['file']['tmp_name'];
    $path = 'uploads/' . $name; //maybe you should create the uploads/ folder before running the script

    if(move_uploaded_file($tmp, $path)){
        $db = new PDO('mysql:host=localhost;dbname=your_db_name','your_db_user','your_db_pass');
        $stmt = $db->prepare('INSERT INTO your_table_name_here SET filepath=?,mime=?,size=?');
        $stmt->execute([$path,$mime,$size]);
        echo 'File uploaded successfully!';
    }
}
?>
<form action="index.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" name="submit" value="Upload">
</form>

然后,您可以获取所有已保存的路径,并将其添加为src attrbuite以用于您的图像。

//index.php
$stmt = $db->prepare('SELECT filepath FROM your_table_name_here');
$stmt->execute();
while($row = $stmt->fetch()){?>
    <img src="<?php echo $row['filepath']; ?>" alt="image">
<?php }

但请注意,这只是一个超级简单的脚本,出于学习目的,此代码不得在生产模式下使用,因为不安全。