如果已存在,则重命名文章SLUG

时间:2012-03-17 17:19:10

标签: php sql rename slug

在我的文章网站上我有ID&文章SLUG设置,但我使用slug而不是ID。 Slug被设置为主要的独特!

但是当用户再次添加现有的slug导致死亡时出现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而不是错误消息 例如如果Previous Slug是“环境文章” 如果用户再次插入相同的slug,那么它将变为“article-on-environment-2” &安培;然后下一步“”环境文章3“等等

我需要帮助才能找到相同的旧slu and并重命名。

1 个答案:

答案 0 :(得分:1)

您可以执行插入操作,然后在mysql_error上检查错误代码,如果是重复的密钥代码,请更改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;
    }
}