09. august 2005 - 16:02Der er
9 kommentarer og 2 løsninger
str_replace virker ikke
Hvorfor virker dette ikke? Den melder ike fejl, men den fjerner heller ikke mellemrummene. <? include("db_con.php"); db_con(); $forsp1 = mysql_query("SELECT mail_nl, id_nl FROM Newsletter"); while ($forsp2 = mysql_fetch_row($forsp1)) { $newtt = str_replace(' ', '', $forsp2[0]); mysql_query("UPDATE Newsletter SET mail_nl = '$newtt' WHERE id_nl = '$forsp2[1]'"); } ?>
Prøv: mysql_query("UPDATE Newsletter SET mail_nl = '$newtt' WHERE id_nl = '$forsp2[1]'") or die(mysql_error());
Og du er sikker på, at du får hentet det du skal ud? Du kan jo evt. prøve: mysql_query("UPDATE Newsletter SET mail_nl = '$newtt' WHERE id_nl = '$forsp2[1]'") or die(mysql_error()); echo $newtt."<br />";
Når databasen ter sig underligt så er det i 89 ud af 10 tilfælde fordi at SQL-kommandoerne indeholder noget andet end det man forventer. Foruden selvfølgeligta t sætte die(...) på, er der derfor altid en god ide - som debug - at udskrive SQL kaldet før at man forsøger at udføre det:
<? include("db_con.php"); db_con(); $forsp1 = mysql_query("SELECT mail_nl, id_nl FROM Newsletter") or die(mysql_error()); while ($forsp2 = mysql_fetch_row($forsp1)) { $newtt = str_replace(' ', '', $forsp2[0]);
$SQL = "UPDATE Newsletter SET mail_nl = '$newtt' WHERE id_nl = '$forsp2[1]'"; echo "DEBUG: " . $SQL . "<br>";
jaw> Vi ved jo faktisk ikke om der er tale om en Windows-maskine (\r\n) eller en Linux-box (\n). Eller det kunne for den sags skyld også være en Mac (\r). :o)
Se nielle, nogen gange skal man tage en chance :D Og det er skam helt cool med mig...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.