This repository has been archived on 2025-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
Files
skolavdf/wap/php-sqlcont/Mysql.php
2023-03-20 13:10:24 +01:00

57 lines
1.5 KiB
PHP

<?php
class MySQL implements IDB
{
private ?mysqli $db;
public function connect(
string $host = "",
string $username = "",
string $password = "",
string $database = ""
): ?static {
$db = mysqli_connect($host, $username, $password, $database);
if ($db === false) {
return null;
}
$this->db = $db;
return $this;
}
function select(string $query): array {
$result = mysqli_query($this->db,$query);
if (
$result instanceof mysqli_result
&& $result->num_rows > 0
){
return mysqli_fetch_all($result, MYSQLI_ASSOC);
}
return [];
}
function insert(string $table, array $data): bool {
$query = "INSERT INTO `".$table."` VALUES (";
for($i = 0; $i < sizeof($data); $i++) {
$query .= "'".$data[$i]."', ";
}
$query .= ")";
$result = mysqli_query($this->db, $query);
return $result ? true : false;
}
function update(string $table, int $id, array $data): bool {
$query = "INSERT INTO `".$table."` VALUES (";
for($i = 0; $i < sizeof($data); $i++) {
$query .= "'".$data[$i]."', ";
}
$query .= ")";
$result = mysqli_query($this->db, $query);
return $result ? true : false;
}
function delete(string $table, int $id): bool {
$result = mysqli_query($this->db, "DELETE FROM ".$table." WHERE id=".$id);
return $result ? true : false;
}
}