Newsgroup: it.comp.www.php
Titolo: mysql mangia caratteri

Salve, la domanda credo che per molti di voi sarà sciocca,
ma non riesco a capire dove sto sbagliando.
Ho la necessità di salvare su Db mysql un link del tipo: C:\cane\gatto.bmp
Ora, la query e il salvataggio avvengono correttamente o quasi, perchè 
andando a controllare cosa ha salvato mi accorgo che la stringa salvata 
magicamente è diventata Ccanegatto.bmp , ossia si è mangioto " \ " .
non so sinceramente quale tipo di campo utilizzare, o quale opzione (ex. 
VARCHAR, TEXT etc. ).
Qualcuno saprebbe darmi un piccolo aiutino??
Grazie Infinite
Saluti

 un piccolo aiutino??
Posta il codice.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
Detto fatto,
ho creato in un db prova la tabella articles mediante questa query
$query = "CREATE TABLE articles (id INT (10) UNSIGNED not null
AUTO_INCREMENT, fotosmall VARCHAR (255), PRIMARY KEY (id))";
e provo ad inserire il link in db mediante questo script:
mysql_connect("###", "###", "###"); 					
mysql_select_db("prova");							$query = "INSERT INTO articles 
(fotosmall) VALUES ('$link')";			if (mysql_query($query))
echo ("inserito correttamente");	
else										echo "Errore durante l'inserimento";					 
mysql_close($connect);												
Devo dire che ho anche provato a creare nel db fotosmall anzichè varchar 
(255) di tipo TEXT , ma il risultato non è cambiato.
Se riesci a darmi una mano te ne sarei grato.
Saluti
T. 		


Usa c:\\cane\\gatto.bmp

 $query = "INSERT INTO articles (fotosmall) VALUES ('$link')";		
Quale e' il contenuto di $link?


 Usa c:\\cane\\gatto.bmp
Se glielo dici così copia e incolla, non impara una cippa e fa pure un 
bell'errore concettuale.
io farei:
$field = "c:\cane\gatto.bmp"
Poi nella query userei addslashes($field)


 Poi nella query userei addslashes($field)
Oppure ancora meglio usi Pear con le prepared queries, che fa 
l'addslashes per te.
Permesso SOLO quando hai capito il concetto, non prima.


 ciao, f.
Non hai tutti i torti, ed è evidente che debba fare un salto in libreria 
per trovare una compagia al manuale Php che già possiedo :)
in questo momento non ho proprio un manuale a portata di mano ed in rete 
  un po mi ci son perso.
sostanzialmente il problema sorge quà:
$fotofull = realpath($cartellafull)."\\".$_FILES['miofile']['name'];
dopo aver fatto un upload di un immagine, con questa riga ed un echo 
ottengo il percorso del file sul "server" :
Ex. C:\Programmi\MyPhp\Project2\images\ff\cane.jpg
Come detto se faccio un echo tale riga mi viene restituita 
tranquillamente, ma quando procedo all'inserimento nel db,
andando a controllare trovo sistematicamente:
C:ProgrammiMyPhpProject2imagesffcane.jpg
E' evidente la mia inesperienza con mysql, ma in assenza (per altro 
temporanea) di un manuale ho pensato di postare per ricevere una piccola 
"dritta" ;)
Grazie a tutti
T.



Comunque c'è il manuale online: 
http://dev.mysql.com/doc/
Comunque non so se hai capito che basta sostituire $path con
addslashes($path)?
http://it2.php.net/addslashes
-- 
Per rispondermi togli il cappello

 
Vi ringrazio,
ho appena fatto la prova controllando la sintassi su 
php.net
 e tutto ora 
funziona bene.
Siete stati veramente cortesi, Grazie.
Saluti
T.