Jag undrar om någon har en ide hur jag ska skriva ett skript som parsar igenom all text i en databas jag har och ersätter ' med `?
Skript som parsar igenom en databas?
3 svar · 204 visningar · startad av Poppe25
Hämta ut varje rad för sig och ersätt. Typ såhär:
$max = mysql_result(mysql_query("SELECT COUNT(id) FROM tabell"), 0);
for ($i = 0; $i <= $max; $i++) {
$que = "SELECT id, text FROM tabell ORDER BY id LIMIT $i,1";
$res = mysql_query($que);
$id = mysql_result($res, 0);
$text = mysql_result($res, 1);
$text = str_replace("'", "`", $text);
$que = "UPDATE tabell SET text='".$text."' WHERE id=".$id;
$res = mysql_query($que);
}
Har inte orkat fundera på hur $i <= $max fungerar så du får väl kolla så att alla blir uppdaterade.
Tack. Gjorde några ändringar dock, men tack i alla fall!
<?
$db = mysql_connect ("localhost", "$db_user", "$db_pass");
mysql_select_db("$db_namn",$db) or die( "$db_namn kunde inte hittas");
$sql = "SELECT * FROM tblfragor";
$resultat = mysql_query($sql);
while($rad = mysql_fetch_array($resultat)){
$id = $rad[0];
$fraga = str_replace("'", "A", $rad[1]);
$svar = str_replace("'", "B", $rad[2]);
$felsvar1 = str_replace("'", "C", $rad[3]);
$felsvar2 = str_replace("'", "D", $rad[4]);
$felsvar3 = str_replace("'", "E", $rad[5]);
$forfattare = str_replace("'", "G", $rad[1]);
$kategori = str_replace("'", "H", $rad[1]);
$felsvar4 = str_replace("'", "I", $rad[1]);
$que = "UPDATE tblfragor SET fraga='".$fraga."', svar='".$svar."', felsvar1='".$felsvar1."',";
$que .="felsvar2='".$felsvar2."', felsvar3='".$felsvar3."', forfattare='".$forfattare."',";
$que .="kategori='".$kategori."',"."felsvar4='".$felsvar4."' WHERE id=".$id;
$res = mysql_query($que);
}
?>
Jodå, lugnt. Min kod var bara tänkt att visa principen...