<?php $pdo = new pdo("mysql:host=localhost;dbname=ders", "root", ""); $sorgu = $pdo->prepare("select * from ders") or die("Hata: " . $pdo->errorInfo()[2]); $sorgu->execute(); foreach ($sorgu as $veri) { echo $veri[1]; }
<?php $db = new pdo('sqlite::memory:'); $db->query('CREATE TABLE IF NOT EXISTS foo (id INT AUTO INCREMENT, name TEXT)'); $db->query('INSERT INTO foo VALUES (NULL, "PHP")'); $db->query('INSERT INTO foo VALUES (NULL, "PHP6")'); var_dump($db->query('SELECT * FROM foo')); var_dump($db->errorInfo()); var_dump($db->lastInsertId()); $db->query('DROP TABLE foo');
/** * Executes sql statement without any return value. Please consider the usage of * prepared statements which is fully supported. * * <code> * <?php * dbConn::execute("INSERT INTO :prefix:user (username, registered) VALUES (:0, :1);", 'felix', (new DateTime)); * ?> * * @param string $query The query in sql language. * @param multiple strings The values that will fill the variables in the query. * @static */ public static function execute() { $argsCount = func_num_args(); $par = array(); // no query as parameter given if ($argsCount < 1) { throw new Exception("No Sql-Query given"); } // if there are parameters, insert in if ($argsCount > 1) { // create array with parameters for pdo usage for ($i = 1; $i < $argsCount; $i++) { $key = ":" . ($i - 1); $par[$key] = func_get_arg($i); } } // insert table prefix $query = func_get_arg(0); $query = str_replace(":prefix:", dbConn::$tablePrefix, $query); // create pdo connection $db = new pdo("mysql:" . "host=" . dbConn::$host . ";" . "dbname=" . dbConn::$database . ";" . "charset=UTF8", dbConn::$username, dbConn::$password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try { // prepare and execute $sth = $db->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); if (!$sth) { throw new Exception($db->errorInfo()); } $sth->execute($par); } catch (Exception $ex) { throw new Exception($ex->getMessage()); } // close database connection $db = null; }