public static function connect($credentials, $allow_missing_db = NULL) { if (self::$instance === NULL) { self::$instance = new Plusql(); } if (!isset(self::$instance->credentials[$credentials])) { throw new InvalidCredentialsException('Unable to begin Plusql session with credentials named: ' . $credentials . ' (cos they don\'t exist)'); } $host = self::$instance->credentials[$credentials][0]; $user = self::$instance->credentials[$credentials][1]; $password = self::$instance->credentials[$credentials][2]; $dbname = self::$instance->credentials[$credentials][3]; $key = implode('-', self::$instance->credentials[$credentials]); if (!isset(self::$instance->connections[$key])) { $conn = new PluSQL\Connection($host, $user, $password, $dbname); self::$instance->connections[$key] = $conn; } else { $conn = self::$instance->connections[$key]; } try { $conn->connect(); } catch (Exception $exc) { if ($allow_missing_db != self::ALLOW_MISSING_DB) { throw $exc; } } return $conn; }
$runner->pass(); } else { $runner->fail('I was unable to switch back to the live database after querying dev'); } if (Plusql::connect('dev')->query('SELECT * FROM fixture_data')->fixture_data->field_value == 'plusql_dev fixture value') { $runner->pass(); } else { $runner->fail('I was unable to switch back to the dev database after switching from dev to live'); } }); Murphy\Test::add(function ($runner) { $conn = NULL; \Murphy\Fixture::load(dirname(__FILE__) . '/../on_clause.class.php.murphy/fixture.php')->execute(); \Murphy\Fixture::load(dirname(__FILE__) . '/../query_iterator.class.php.murphy/fixture.php')->execute(function ($aliases) use(&$conn) { $aliases = $aliases['plusql']; $host = $aliases[0]; $username = $aliases[1]; $password = $aliases[2]; $dbname = $aliases[3]; $conn = new PluSQL\Connection($host, $username, $password, $dbname); $conn->connect(); }); Plusql::credentials('live', array('localhost', 'plusql', 'plusql', 'plusql')); $f = Plusql::escape('live'); $sql = (string) Plusql::from('live')->strong_guy->select('*')->where('strong_name = \'' . $f('Strong Name\'s') . '\''); if ($sql == 'SELECT * FROM strong_guy WHERE strong_name = \'Strong Name\\\'s\'') { $runner->pass(); } else { $runner->fail('Did not get the correct value after escaping'); } });