我在sql中有一个表,其中有3列名为id
,title
和story_url
。
我正在尝试SEO friendly URL
。所以我要做的是使用title
和replace
white spaces
和special chars
使用短划线( - )并将其保存到其他列story_url
中。 story_url是空的atm。
更新我的所有表格行或在story_url
中插入创建的网址。
如果我在while循环中执行它,那么它只会在所有行中添加最后一个值。
function seoUrl($string) {
$string = strtolower($string);
$string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
$string = preg_replace("/[\s-]+/", " ", $string);
$string = preg_replace("/[\s_]/", "-", $string);
return $string;
}
while($row = mysqli_fetch_array($run)) {
$title = $row['title'];
$story = $row['story'];
$id = $row['id'];
$url = seoUrl($title);
$query = "UPDATE table SET story_url='$url'";
mysqli_query($conn,$query);
}
答案 0 :(得分:0)
您的UPDATE
查询需要WHERE
条款。
用以下内容替换您的查询:
$query = "UPDATE table SET story_url='$url' WHERE id='$id'";