Hoi,
Bij deze mijn eerste classe.
Zouden jullie hier tips voor willen geven?
Onderaan staat een klein voorbeeld.
<?php
class database{
private $db_server = "localhost";
private $db_user = "username";
private $db_pass = "*******";
private $db_database = "database";
public $connection;
public function connect(){
$this->connection = mysqli_connect($this->db_server, $this->db_user, $this->db_pass, $this->db_database);
}
public function userInfo($username, $columns=array()){
$items = '';
foreach($columns as $column){
$items .= $column.', ';
}
$items = substr($items, 0, -2);
$usersql = "SELECT $items FROM users WHERE username='".mysqli_real_escape_string($this->connection, $username)."'";
$usersel = mysqli_query($this->connection, $usersql);
return mysqli_fetch_assoc($usersel);
}
public function tryLogin($username, $wachtwoord){
$usersql = "SELECT id, username, password FROM users WHERE username='".mysqli_real_escape_string($this->connection, $username)."' AND password='".md5($wachtwoord)."'";
$usersel = mysqli_query($this->connection, $usersql);
$info = mysqli_fetch_assoc($usersel);
if($info['id'] == null){
return 1; // verkeerde inloggegevens
}else{
return 2; // ingelogd
}
}
private function sqlError($sql, $error){
echo '<span style="color: #FF0000; font-weight: bold;">Er is iets fout gegaan. Onze excuses hiervoor.<br>De foutmelding is automatisch verzonden en zal zo snel mogelijk worden opgelost.</span>';
mail("[email protected]", "sql error", 'SQL = '.$sql.'
mysqli_error = '.$error);
return true;
}
public function query($sql, $type=null){
if($type==null){
$query = @mysqli_query($this->connection, $sql);
if($query){
return $query;
}else{
return $this->sqlError($sql, mysqli_error($this->connection));
}
}elseif($type == "object"){
$query = @mysqli_query($this->connection, $sql);
if($query){
return mysqli_fetch_object($query);
}else{
return $this->sqlError($sql, mysqli_error($this->connection));
}
}elseif($type == "array"){
$query = @mysqli_query($this->connection, $sql);
if($query){
return mysqli_fetch_array($query);
}else{
return $this->sqlError($sql, mysqli_error($this->connection));
}
}elseif($type == "assoc"){
$query = @mysqli_query($this->connection, $sql);
if($query){
return mysql_fetch_assoc($query);
}else{
return $this->sqlError($sql, mysqli_error($this->connection));
}
}elseif($type == "rows"){
$query = @mysqli_query($this->connection, $sql);
if($query){
return mysqli_num_rows($query);
}else{
return $this->sqlError($sql, mysqli_error($this->connection));
}
}
}
public function closeConnection(){
mysqli_close($this->connection);
}
}
$oDb = new database();
$oDb->connect();
if($oDb->tryLogin("Tom", "******") == 1){
echo 'Je hebt een verkeerd gebruikersnaam of wachtwoord ingevoerd!';
}else{
echo 'Je bent ingelogd!';
}
$rob = $oDb->userInfo("Rob", array("username, bedrag"));
echo '<br>'.$rob['username'].' zijn bedrag is '.$rob['bedrag'];
$oDb->query("UPDATE users SET bedrag='100' WHERE username='".$rob['username']."'");
echo '<br>Er zijn '.$oDb->query("SELECT id FROM users WHERE bedrag='100'", 'rows').' gebruikers met een bedrag van 100<br>';
$oDb->query("SELECT id FROM users WHEREhfghfghfg bedrag='25'", 'rows'); // Moet error geven
$oDb->closeConnection();
?>
1.014 views