php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /opt/php-7.0.1/ext/pdo_mysql/tests/ |
files >> //opt/php-7.0.1/ext/pdo_mysql/tests/bug_50323.phpt |
--TEST-- Bug #50323 (No ability to connect to database named 't;', no chance to escape semicolon) --SKIPIF-- <?php if (!extension_loaded('pdo') || !extension_loaded('pdo_mysql')) die('skip not loaded'); require dirname(__FILE__) . '/config.inc'; require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; PDOTest::skip(); ?> --FILE-- <?php require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); function changeDSN($original, $new_options) { $old_options = array(); $dsn = substr($original, strpos($original, ':') + 1, strlen($original)); // no real parser - any excotic setting can fool us $parts = explode(';', $dsn); foreach ($parts as $k => $v) { $tmp = explode('=', $v); if (count($tmp) == 2) $old_options[$tmp[0]] = $tmp[1]; } $options = $old_options; foreach ($new_options as $k => $v) $options[$k] = $v; $dsn = 'mysql:'; foreach ($options as $k => $v) $dsn .= sprintf('%s=%s;', $k, $v); $dsn = substr($dsn, 0, strlen($dsn) -1); return $dsn; } if (1 === @$db->exec('CREATE DATABASE `crazy;dbname`')) { $dsn = changeDSN(getenv('PDOTEST_DSN'), array('dbname' => 'crazy;;dbname')); $user = getenv('PDOTEST_USER'); $pass = getenv('PDOTEST_PASS'); new PDO($dsn, $user, $pass); } echo 'done!'; ?> --CLEAN-- <?php require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); @$db->exec('DROP DATABASE IF EXISTS `crazy;dbname`'); ?> --EXPECTF-- done!y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`