gpt4 book ai didi

mysql - 将图像路径插入无法在远程服务器上运行的数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:17:36 24 4
gpt4 key购买 nike

我正在 CI 中开发一个应用程序,我有一个模型可以将上传表单中的图像路径插入到数据库中。

此代码在我的本地主机环境中 100% 正确,但在远程服务器上运行时失败并显示

Error Number: 1062

Duplicate entry '89-ci/flatfee/uploads/37' for key 'PRIMARY'

想法是使用一个 image_map_table 将 listingid 映射到 image_path,因此 listingid 必须在每个图像路径的表中重复多次,因此重复条目。下面是模型中的函数:

function insert_paths($params, $transID){

$lid = $this->getListingID($transID);

if($lid != false) {
$i = 0;
foreach ($params['image_paths'] as $value) {
$sql = "INSERT INTO listing_image_map(idlisting, image_path) VALUES(".$lid.", '".$value."')";
$q = $this->db->query($sql);
$i++;
}
if(sizeof($params['image_paths']) == $i ){
return true;
}
} else {
return false;
}
}

$params 是一个数组,从 Controller 传入,包含上传表单中的所有图像路径。我理解这个错误,以及为什么它会在基本级别发生,但更详细的解释为什么它在本地主机而不是在远程服务器上有效,以及可能的解决方案。

谢谢。

编辑:感谢 Ashwini Dhekane,我发现了问题。文件路径是从数组创建的,因此服务器上的默认文件路径在其结构中比在我的本地环境中更长,因此必须为远程服务器增加用于创建文件夹结构的索引,并在本地减少环境(所以现在我有两组代码,根据我在哪个服务器上工作,我一直在评论和取消评论,有点麻烦,但我只需要在这部分再工作几天。)

谢谢 Ashwini,你的帖子让我看对了地方,所以我会把它标记为正确的。

最佳答案

'89-ci/flatfee/uploads/37' 好像是上传文件的路径,报错显示路径是主键列。主键列中不能有任何两行具有相同的值。

如果您尝试上传 SQL 转储,则无法执行此操作;键总是会发生碰撞。在这种情况下,您将必须编写自定义脚本。

关于mysql - 将图像路径插入无法在远程服务器上运行的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141435/

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