0
因此,我编写了一个简单的MySQLi类(从不同的教程+我自己的知识中抓取),并且希望您指出所有错误和/或添加/更改/删除的内容。十分感谢。下面的代码:需要关于OOP的建议PHP MySQL连接
dbclass.php
<?php
class Database
{
protected static $connection;
public function __construct()
{
self::$connection = $this->connect();
}
public function __destruct()
{
self::$connection->close();
}
private function connect()
{
if (!isset(self::$connection))
{
$config = parse_ini_file("dbsettings.ini");
self::$connection = new mysqli($config["host"], $config["username"], $config["password"], $config["database"]);
}
if (!self::$connection)
return false;
return self::$connection;
}
public function query($query)
{
$result = self::$connection->query($query);
return $result;
}
public function select($query)
{
$rows = array();
$result = $this->query($query);
if (!$result)
return false;
while ($row = $result->fetch_assoc())
{
$rows[] = $row;
}
return $rows;
}
public function escape($value)
{
$value = htmlspecialchars($value, ENT_QUOTES, "UTF-8");
return "'".self::$connection->real_escape_string($value)."'";
}
};
?>
用法示例
<?php
require("php/require/dbclass.php");
if (isset($_POST["login"]))
{
$conn = new Database;
$email = $conn->escape($_POST["email"]);
$password = $conn->escape($_POST["password"]);
$rows = $conn->select("SELECT * FROM users WHERE email = $email");
if ($rows)
{
foreach ($rows as $row)
{
echo $row["username"]."<br />";
}
}
}
?>
什么问题只是一个简单的线? –
第一个建议 - 了解__准备报表__ –
您是否试图让您的dbclass成为单例类? –