如何使用php选择存储在数据库中的数据

ssm49v7z  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(398)

我面临的问题是,我想读取一个自动添加并使用的值,我的数据库采用以下设计:

|   id   |   category   |   image   |
|   13   |    paper     |    0      |

id是自动递增的,我要做的是生成id并将其用作图像中的值,然后上载一个文件,该文件的名称作为图像中存储的数字,在本例中,图像将更改为13,文件的名称为13.jpg。我是这样开始编写代码的 mysql_query("INSERT INTO category (category,image) VALUES ('$name','$default_item')"); $name由用户写入,$default\u item始终为零,我要做的是使用update将图像更改为equal id,然后像这样上载图像 $image_name = '$id' . '.jpg' move_uploaded_file($_FILES["image"]["tmp_name"], "../images/category/" . $image_name); 其中$id是数据库中的id

qojgxg4l

qojgxg4l1#

而不是使用自动递增id作为图像名称。我建议生成一个图像的唯一名称,并在数据库中插入该名称,并使用该名称上传图像。使用下面的代码创建图像名称

$uniquesavename = time().uniqid(rand());

mysql_query("INSERT INTO category (category,image) VALUES ('$name','$uniquesavename')");

$image_name = $uniquesavename . '.jpg'
move_uploaded_file($_FILES["image"]["tmp_name"], "../images/category/" . $image_name);

通过这种方式,用户上传的图像将始终具有唯一的名称。
试试这个,如果你有什么问题就告诉我

jaxagkaj

jaxagkaj2#

有几件事值得一提:
你不应该使用 mysql_query 不再。使用 mysqli_query 相反。mysql*已被弃用,并已在最新的php版本中删除。
第二:不要在sql查询中直接使用用户生成的内容。使用事先准备好的语句。否则,您的网站容易受到sql注入的攻击。
关于获取自动增量值-请参阅此线程。

相关问题