Modifying many rows of mySQL data from PHP
I have some php script that I would like to run on EVERY row within a mySQL table. The php script:
function replacespaces($text) {
return preg_replace_callback('/[\<]pre(.*)[\>](.*)[\<]\/pre[\>]/i',
create_function(
'$matches',
'return "<pre".$matches[1].">".str_replace(" ", " ", $matches[2])."</pre>\n";'
), $text);
}
I need to cycle through the mySQL database in the table "jos_picmicr开发者_StackOverflow中文版o_content" passing the content of the field "fulltext" to the above function, and inserting the result back into the field "fulltext". Sounds easy enough to do, although I am not experienced in the area! The table is about 500 rows long.
$result = mysql_query("SELECT * FROM jos_posmicro_content");
while ($row = mysql_fetch_array($result)) {
$text = replacespaces($row['fulltext']);
$sql = "UPDATE jos_posmicro_content SET fulltext = '" . mysql_real_escape_string($text) . "' WHERE ????";
mysql_query($sql);
}
You just ned to change the ???? part to identify which row to update (eg, where id = $row['id'] or whatever your primary key is).
精彩评论