gpt4 book ai didi

PHP:将图像名称插入数据库时​​出现重复/空白值

转载 作者:行者123 更新时间:2023-12-02 06:15:44 24 4
gpt4 key购买 nike

我目前正在 MySQL 数据库中存储图像名称,以便更轻松地检索实际图像。我创建的存储名称的 php 代码遇到问题。未经我的许可,正在向数据库中进行重复和空白插入。

有没有办法避免刷新页面时插入重复值或空白值的问题?

enter image description here

<?
$images = explode(',', $_GET['i']);

$path = Configuration::getUploadUrlPath('medium', 'target');


if (is_array($images)) {
try {
$objDb = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$objDb->exec('SET CHARACTER SET utf8');
} catch (PDOException $e) {
echo 'There was a problem';
}

$sql = "INSERT INTO `urlImage` (`image_name`) VALUES ";

foreach ($images as $image) {
$value[] = "('" . $image . "')"; // collect imagenames
}

$sql .= implode(',', $value) . ";"; //build query
$objDb->query($sql);
}

?>

最佳答案

首先,您应该检查 foreach 语句中的空白名称,如下所示:

foreach ($images as $image) {
if($image!='') {
$value[] = "('".$image."')"; // collect imagenames
}
}

其次,您应该查看 header("Location: ..."); 以防止用户刷新页面。

第三,您还可以设置 session 变量或 cookie 以防止用户两次上传相同的图像。

最后,如果图像名称是唯一的,您可以设置 UNIQUE index在图像名称上。然后使用INSERT IGNORE,这将删除所有重复项。

关于PHP:将图像名称插入数据库时​​出现重复/空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com