我有一个超过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);
}
但它没有更新。请帮忙。我无法弄清楚如何做到这一点。 我只需要运行一次脚本并完全更新它。就是这样。
提前致谢。
答案 0 :(得分:2)
使用循环和内部查询可以简单地使用一个sql语句来完成同样的事情。
$query = "UPDATE `pincodes` SET `state_soundex`=soundex(`state`)";
$result = mysqli_query( $mysql, $query );