daarbinnen 2 functies:
<?php
class database extends PDO {
function __construct($dblogin)
{
try
{
parent::__construct('mysql:host=127.0.0.1;dbname='.$dblogin['db'], $dblogin['user'], $dblogin['pass']);
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e)
{
if ($this->debug) echo $e->getMessage();
}
}
function query($sql, $params = NULL)
{
$starttime = microtime(TRUE);
try
{
if (is_null($params))
{
$results = parent::query($sql);
}
else
{
$stmt = parent::prepare($sql);
foreach ($params as $key => $value)
{
if (is_int($value))
$stmt->bindParam($key, $value, PDO::PARAM_INT);
else if (is_string($value))
$stmt->bindParam($key, $value, PDO::PARAM_STR);
else if (is_bool($value))
$stmt->bindParam($key, $value, PDO::PARAM_BOOL);
else
$stmt->bindParam($key, $value, PDO::PARAM_NULL);
}
$stmt->execute();
$results = $stmt->fetchAll();
}
}
catch (PDOException $e)
{
if ($this->debug) echo $e->getMessage();
}
$this->log[] = array('sql'=>$sql,'time'=>microtime(TRUE)-$starttime);
return (isset($results)) ? $results : NULL;
}
}
?>
de vraag is nu: hoe krijg ik mijn resultaat in de $contacts?
Ik probeer het met de volgende code:
index.php
<?php
$dblogin = array(
'host' => 'mijnhost',
'db' => 'mijndb',
'user' => 'user',
'pass' => 'pass',
);
include ('class.database.php');
$database = new database($dblogin);
$sql = "SELECT * FROM contacts ORDER BY id";
$contacts = $database->query($sql);
print_r ($contacts);
?>
Wat doe ik verkeerd?