如何根据某些特定参数运行php脚本来更新mysql数据库列?

时间:2016-09-03 06:47:11

标签: php mysql xampp

我有一个超过1,50,000个条目的数据库。它有像州名,地区名,办公室名等等列。现在我想用每个行的php Soundex更新整个数据库,其中包含州名,地区名,办公室名。 每行都有一列state_soundex,office_name_soundex和district_soundex。 我想运行一个php脚本,它将像这样更新整个数据库 - 它将获取状态名称并应用soundex('state_name')并将其放入state_soundex列,并且区域和办公室名称也是如此。 这是我到目前为止所做的不起作用 -

// database connection working alright

$query = "SELECT office_name, state, district FROM pincodes";
$result = mysqli_query($mysql, $query);

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {

    $state_name = $row['state'];

    $soundex = soundex($state_name);

    $q = "UPDATE pincodes SET state_soundex =  '$soundex' WHERE state = '$state_name'";
    $r = mysqli_query($mysql, $q);

}

但它没有更新。请帮忙。我无法弄清楚如何做到这一点。 我只需要运行一次脚本并完全更新它。就是这样。

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用循环和内部查询可以简单地使用一个sql语句来完成同样的事情。

$query = "UPDATE `pincodes` SET `state_soundex`=soundex(`state`)";
$result = mysqli_query( $mysql, $query );