phpbar.de logo

Mailinglisten-Archive

[php] Warum greift mysql_real_escape_string auf DB zu?

[php] Warum greift mysql_real_escape_string auf DB zu?

Ringo Großer swek at gmx.net
Don Nov 22 16:44:23 CET 2007


Hallo Liste

Ich hatte mir in letzter Zeit angewöhnt mit mysql_real_escape_string 
beim INSERT von Daten in eine MySQL DB zu arbeiten.
Nun erhielt ich heute die folgende Fehlermeldung bzw Warnung:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: 
Access denied for user 'www-data'@'localhost' (using password: NO) in 
/var/www/... on line XY

Im Handbuch hab ich nun nachgelesen, dass diese Funktion einen zweiten 
optionalen Parameter hat, einen Link-Identifier, welcher falls nicht 
angegeben auf die letzte zuvor benutzte Verbindung zeigt. Da ich aber 
vorher noch gar keine Verbindung zu DB aufgebaut habe und das auch weder 
nötig ist noch möchte ich das, ist der Fehler erstmal nachvollziehbar.

Aber ich hatte angenommen, dass mysql_real_escape_string ähnliche 
Dienste wie addslashes leistet. Nur was zum Teufel will 
mysql_real_escape_string in der Datenbank? Es müsste doch vor dem INSERT 
(beim Zusammensetzen der Query) PHP-seitig arbeiten? Hat jemand eine 
Erklärung für die Notwendigkeit der Datenbankverbindung?

regards, Ringo

php::bar PHP Wiki   -   Listenarchive