From: anandsamyo at yahoo dot gr Operating system: Linux PHP version: 5.1.5CVS PHP Bug Type: MySQL related Bug description: no mysql_error() after stripcslashes($query)
Description: ------------ If I POST any $query with (') from querydb.html ex. $query="update subscribers set name='theo' where..." it will be received by querydb.php like $query = $_POST[query]="update subscribers set name=\'theo\' where..." and then stripcslashes($query)="update subscribers set name='theo' where..." If the query is not correct (ex: ...("updata subscribers set name='theo' where...") It will not be executed and there will be no return of mysql_error(). But---------------------------------------------------------- If I pull out of the code of (querydb.php) the line $query = stripcslashes($query); then the query of course is not correct and will not be executes (ex: ..."update subscribers set name=\'theo\' where...") but this code RETURNS the mysql_error(). Reproduce code: --------------- //---------------------------------------------------- CREATE TABLE `subscribers` ( `username` varchar(10) NOT NULL default '', `password` varchar(10) NOT NULL default '', PRIMARY KEY (`username`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=218 ; //querydb.html---------------------------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> </head> <body> <table border='0' bgcolor='#eeeeee' width='850' style='font-family: Verdana, Arial; font-size: 8pt;' cellspacing='0' cellpadding='2'> <tr><td width='850'align='left' bgcolor='#f1f1f1' style='font-family: Verdana Arial; font-size: 8pt; color: #f00000' ></td><tr> <form name='querydb' action='querydb.php' method='POST' > <tr><td width='850' ><textarea rows='7' name='query' cols='103' >$query</textarea></td></tr> <tr><td width='850' align='center' ><input type='submit' value='SUBMIT' style='font-family: Verdana, Arial; font-size: 8px; ' name='submit'></td></tr> </form> </table> </body> </html> //querydb.php--------------------------------------------------- <?php $conn = mysql_connect ("localhost", "user", "pass") or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ("autosgr_autosdb"); $query = "$_POST[query]"; $query = stripcslashes($query); mysql_query($query, $conn)or die(mysql_error()); ?> //------------------------------------------------------------- Expected result: ---------------- I expect to see the mysql_error() when I POST a wrong query. Actual result: -------------- $query = stripcslashes($query); this line is neccessary but in case I post the wrong query I do not get a report of mysql_error() back. -- Edit bug report at http://bugs.php.net/?id=37990&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=37990&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=37990&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=37990&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=37990&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=37990&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=37990&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=37990&r=needscript Try newer version: http://bugs.php.net/fix.php?id=37990&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=37990&r=support Expected behavior: http://bugs.php.net/fix.php?id=37990&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=37990&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=37990&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=37990&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37990&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=37990&r=dst IIS Stability: http://bugs.php.net/fix.php?id=37990&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=37990&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=37990&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=37990&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=37990&r=mysqlcfg