Dovendo rimuovere dei tag html, da uno specifico campo del database, ho cercato di farmi una funzione che lo facesse in automatico, senza dover intervenire manualmente sul db.
Ho fatto quindi questa pagina:
Codice PHP:
<?PHP
require "configure.php"
$link mysql_connect($host$dbuser$dbpass)
    or die(
"Impossibile connettersi al database");
mysql_select_db($dbname)
    or die(
"Impossibile selezionare il database");
    
mysql_query("set names 'utf8'");
$empty "";
$list "";
$result mysql_query("SELECT * FROM `offerte` WHERE `speciale` != '$empty'");
while (
$row mysql_fetch_array($result)) {
$id $row["id"];
$speciale $row["speciale"];
    
$special strip_tags($speciale);
    
$special addslashes($special);
    
$list .= $special "

"
;
$query "UPDATE `offerte` SET 
  speciale = '
$special'
  WHERE id = '
$id'";
$result mysql_query($query) or die (mysql_error());
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title></head><body><?PHP 
echo $list;
?></body></html>
Però quello che accade è che:
- l'echo della variabile $list mi riporta solo il primo campo $speciale
- la query di update non viene effettuata
- la query di update non restituisce alcun messaggio di errore
Se tolgo la query, l'echo della variabile $list appare completo.
Perchè la query non va, e perchè non mi restituisce l'errore?