Annotation of embedaddon/php/ext/pdo_mysql/tests/bug66141.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES after failed query)
! 3: --SKIPIF--
! 4: <?php
! 5: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
! 6: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
! 7: MySQLPDOTest::skip();
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: include __DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc';
! 12: $db = MySQLPDOTest::factory();
! 13:
! 14: $input = 'Something\', 1 as one, 2 as two FROM dual; -- f';
! 15:
! 16: $quotedInput0 = $db->quote($input);
! 17:
! 18: $db->query('set session sql_mode="NO_BACKSLASH_ESCAPES"');
! 19:
! 20: // injection text from some user input
! 21:
! 22: $quotedInput1 = $db->quote($input);
! 23:
! 24: $db->query('something that throws an exception');
! 25:
! 26: $quotedInput2 = $db->quote($input);
! 27:
! 28: var_dump($quotedInput0);
! 29: var_dump($quotedInput1);
! 30: var_dump($quotedInput2);
! 31: ?>
! 32: done
! 33: --EXPECTF--
! 34: Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'something that throws an exception' at line %d in %s on line %d
! 35: string(50) "'Something\', 1 as one, 2 as two FROM dual; -- f'"
! 36: string(50) "'Something'', 1 as one, 2 as two FROM dual; -- f'"
! 37: string(50) "'Something'', 1 as one, 2 as two FROM dual; -- f'"
! 38: done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>