public function testSimpleQuery() { # -------------------------------------------------------------------------- # Create table and truncate DB::query("CREATE TABLE IF NOT EXISTS users (\n \t\tid INT(11) AUTO_INCREMENT,\n \t\tusername VARCHAR(55),\n \t\tpassword text,\n \t\tPRIMARY KEY (id)\n \t)"); DB::query("TRUNCATE users"); # -------------------------------------------------------------------------- # Insert some data DB::execute("INSERT INTO users (username,password) VALUES (:u1,:p1),('guest','guest')", [':u1' => 'admin', ':p1' => 'admin']); # Get "first" of last insert id $this->assertEquals(1, DB::getInsertID()); # -------------------------------------------------------------------------- # Check results $results = DB::fetch("SELECT * FROM users"); $this->assertEquals($results[0], ['id' => 1, 0 => 1, 'username' => 'admin', 1 => 'admin', 'password' => 'admin', 2 => 'admin']); # -------------------------------------------------------------------------- # Check count $this->assertEquals(DB::count(DB::query("SELECT * FROM users")), 2); }
/** * Execute the query and convert the result in an array * * @param string $q query to execute * @param array $p array of binding values * @return array result of the query */ public function assoc(string $q, array $p = NULL) { return DB::fetch($this->query($q, $p), false); }
/** * Execute the query and return the first result * * @param PDOStatement|SQL code $q PDO object * @return array result */ public static function first($q) { return DB::fetch($q)[0]; }