Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重命名项目SLUG(如果已存在)_Php_Sql_Rename_Slug - Fatal编程技术网

Php 重命名项目SLUG(如果已存在)

Php 重命名项目SLUG(如果已存在),php,sql,rename,slug,Php,Sql,Rename,Slug,在我的文章网站上,我有ID和文章段塞设置,但我使用段塞而不是ID。段塞设置为主唯一 但当用户再次添加现有slug时,会导致die with mysql错误 键“PRIMARY”的重复条目 我将代码更改为插入前检查 $qry="select * from marticles where slug='$slg'"; $res=mysql_query($qry) or die("Error in query!"); $count = mysql_num_rows($res); if($coun

在我的文章网站上,我有ID和文章段塞设置,但我使用段塞而不是ID。段塞设置为主唯一

但当用户再次添加现有slug时,会导致die with mysql错误 键“PRIMARY”的重复条目

我将代码更改为插入前检查

    $qry="select * from marticles where slug='$slg'";
$res=mysql_query($qry) or die("Error in query!");
$count = mysql_num_rows($res);
if($count > 0) {
    echo "Slug Already Exists! Pls change Title/Slug";
    }
它现在在插入之前向用户显示错误消息

但我想自动重命名slug而不是错误消息 e、 g.如果前面的Slug是“关于环境的文章” 如果用户再次插入相同的slug,则它将更改为“article-on-environment-2” &然后下一步是“article-on-environment-3”,依此类推


我需要帮助搜索相同的旧slug和重命名。

您可以进行插入,然后在mysql上检查错误代码,如果是重复的密钥代码,请更改slug

$slug='test';
$orig=$slug;
while(!$done) {
    $i++;
    mysql_query("insert into table set slug = '$slug'");
    if(mysql_errno() == 1062) {
        $slug=$orig."-$i";
    } else {
        $done=true;
    }
}