簡體   English   中英

更新mysql中每一行的表列

[英]update table column of every row in mysql

我在sql中有一個表,該表有3列,分別名為idtitlestory_url

我試圖使SEO friendly URL 所以我想做的是使用title並將white spacesspecial chars replace為dash(-)並將其保存到其他column story_url story_url是空的atm。

更新我所有的表行,或將創建的url插入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);
}

您的UPDATE查詢需要具有WHERE子句。

將查詢替換為以下內容:

$query = "UPDATE table SET story_url='$url' WHERE id='$id'";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM