我希望我只是忽略了一些东西。现在我知道我在这里没有使用安全表格,但除此之外(请不要打扰我)。
目标:我正在尝试循环访问数据库字段并查找并替换某些字词。
我想我几乎就在那里......首先我得到了表格,然后一旦找到我概述的表格,我就会循环查看表格,它会进入IF。然后我循环遍历字段,一旦找到我追踪的字段(列),它就进入if。
我的问题:现在如何在行中循环?我想我已经在场上设置了自己的发现和替换。我需要它循环遍历该字段的行并查找并替换某些条目。
我的代码:
foreach ($mstr_keys as $value){
$old_str = $value;
$new_str = $mstr_values[$count];
// connect to mysql
$con = mysql_connect($dbhost, $dbuser, $dbpass) or die('no connection:' . mysql_error());
$db = mysql_select_db($dbname) or die ('cant select db: ' . mysql_error());
$num_changed = $num_changed_ci = 0;
// retreive each table
$sql = "SHOW TABLES FROM `$dbname`";
$result = mysql_query($sql) or die ('Could not get tables: ' . mysql_error());
while ($tbl= mysql_fetch_row($result)) {
// make sure we are in the set table name
if ($tbl[0] == $table) {
echo "\nWorking on Table: {$tbl[0]}... <br />";
$sql = "SHOW COLUMNS FROM `{$tbl[0]}`";
$res = mysql_query($sql) or die ('Could not get columns: ' . mysql_error());
while ($col = mysql_fetch_array($res)) {
// make sure we are in the set column name
if ($col[0] == $field) {
//find and replace
$sql = "UPDATE `{$tbl[0]}` SET `{$col[0]}` = REPLACE(`{$col[0]}`, '{$old_str}' , '{$new_str}')";
$r = mysql_query($sql) or die ('could not update the field: ' . mysql_error());
} else {
//do nothing
}
}
}
}
@mysql_close($con);
}
非常感谢任何和所有帮助。
干杯, 罗布