Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20743 > unrolled thread
| Started by | "infoannu" <22013invalid@mynewsgate.net> |
|---|---|
| First post | 2016-04-29 09:47 +0000 |
| Last post | 2016-04-30 18:33 +0000 |
| Articles | 4 — 2 participants |
Back to article view | Back to it.comp.www.php
errore per campo con apostrofo "infoannu" <22013invalid@mynewsgate.net> - 2016-04-29 09:47 +0000
Re: errore per campo con apostrofo Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-29 14:15 +0100
Re: errore per campo con apostrofo "infoannu" <22013invalid@mynewsgate.net> - 2016-04-30 15:14 +0000
Re: errore per campo con apostrofo Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-30 18:33 +0000
| From | "infoannu" <22013invalid@mynewsgate.net> |
|---|---|
| Date | 2016-04-29 09:47 +0000 |
| Subject | errore per campo con apostrofo |
| Message-ID | <2016042909475222013@mynewsgate.net> |
questo scritte provvede a trasferire dei campi da un database a un
altro, solo che mi dà errore quando il campo testo annuncio contiene
un carattere speciale tipo apostrofo, in questo caso sul video compare
il seguente messaggio:
netYou have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'presse su turni per 6 giorni lavorativi. ', 'OPERAIO STAMPAGGIO
PLASTICA TURNIS' at line 1
se elimino l'apostrofo dal campo testo annuncio tutto funziona
correttamente.
come devo fare per risolvere questo problema, allego lo script
<?
include("area_riservata.php");
set_time_limit(900);
include("config.inc.php");
$datacanc = $_POST['datacanc'];
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file
config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri
nel file config.inc.php");
$query = "SELECT id,zona,testoannuncio,titolo,data,email,tipo,visite
FROM lavqual3 WHERE bollettino = 'ATTIVATO' AND data LIKE '%$datacanc%'
AND tipo = 'offerta' AND visite>50 ";
$result = mysql_query($query, $db);
if (false === $result) {
die(mysql_error());
}
while ($row = mysql_fetch_array($result))
{
print "DATA ANNUNCIO ";
print $row[data];
print " - NUMERO ANNUNCIO ";
print $row[id];
print " - ".$row[email];
print " - ".$row[tipo];
print " - VISITE ".$row[visite];
print (" <BR>\n\n");
print $row[testoannuncio];
print (" <BR>\n\n");
print (" <BR>\n\n");
$Email=$row[email];
print"E-MAIL CLIENTE";
print $Email;
$testoannuncio = $row[testoannuncio];
$titolo = $row[titolo];
$zona = $row[zona];
$tipo = $row[tipo];
# INSERIMENTO
###############################################################
# CALCOLO DATA
$data=date("d/m/y");
$query = "INSERT INTO lavqualDL (cognome , indirizzo , cap , citta ,
provincia , telefono , email , testoannuncio , titolo , data , zona ,
bollettino , tipo ) VALUES
('$cognome', '$indirizzo', '$cap', '$citta', '$provincia', '$telefono',
'$email', '$testoannuncio', '$titolo', '$data', '$zona', '$bollettino',
'$tipo')";
$result2 = mysql_query($query, $db);
if (false === $result2) {
die(mysql_error());
}
}
mysql_close($db);
?>
[toc] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-04-29 14:15 +0100 |
| Message-ID | <doh544F3cc2U2@mid.individual.net> |
| In reply to | #20743 |
On 29/04/2016 10:47, infoannu wrote: > questo scritte provvede a trasferire dei campi da un database a un > altro, solo che mi dà errore quando il campo testo annuncio contiene > un carattere speciale tipo apostrofo, in questo caso sul video compare > il seguente messaggio: Se ne è parlato diverse volte negli ultimi mesi. In breve: Usa PDO e le prepared statement. mysql_query e simili sono deprecate. In un po' meno breve: cerca negli archivi del newsgroup la stringa "Usa PDO". :P Bye.
[toc] | [prev] | [next] | [standalone]
| From | "infoannu" <22013invalid@mynewsgate.net> |
|---|---|
| Date | 2016-04-30 15:14 +0000 |
| Message-ID | <2016043015142722013@mynewsgate.net> |
| In reply to | #20746 |
Alessandro Pellizzari <shuriken@amiran.it> ha scritto: > On 29/04/2016 10:47, infoannu wrote: > > > questo scritte provvede a trasferire dei campi da un database a un > > altro, solo che mi dà errore quando il campo testo annuncio contiene > > un carattere speciale tipo apostrofo, in questo caso sul video compare > > il seguente messaggio: > > Se ne è parlato diverse volte negli ultimi mesi. > > In breve: Usa PDO e le prepared statement. mysql_query e simili sono > deprecate. > > In un po' meno breve: cerca negli archivi del newsgroup la stringa "Usa > PDO". :P > > > Bye. > io non voglio usare PDO in quanto dovrei modificare tutti gli script ed è un lavoraccio, non esiste una soluzione più semplice per risolvere questo problema
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-04-30 18:33 +0000 |
| Message-ID | <dokc36Fhv56U1@mid.individual.net> |
| In reply to | #20766 |
Il Sat, 30 Apr 2016 15:14:27 +0000, infoannu ha scritto: > io non voglio usare PDO in quanto dovrei modificare tutti gli script > ed > è un lavoraccio, non esiste una soluzione più semplice per risolvere > questo problema Usare mysql_real_escape_string() su ogni stringa, passandosi tutti gli script per aggiungerlo, poi pianificare di passarsi comunque tutti gli script a PDO, visto che stai usando funzioni deprecate. Se ti aspetti la bacchetta magica, l'hanno tolta da una certa versione di PHP in poi. E non ti dirò quale era, per evitare che tu faccia il downgrade di PHP solo per poterla usare. :P Bye.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web