SQLi新手连接并关闭

时间:2016-06-13 16:14:37

标签: php mysqli

我在MySQLi中很新,我不确定如何处理它。 所以即使一切似乎都运转正常,欢迎提出建议。

我在连接文件中创建了一个类:

<?php
class Connection{
var $hostname;
var $hostnameStr;
var $dbName;
var $user;
var $pswd;
var $connectObj;
function __construct(){
    $this->hostname = "127.0.0.1";
    $this->hostnameStr = "localhost";
    $this->user = "userName";
    $this->pswd = "mypassword";
}
function connect2db($db){
    $this->dbName = $db;
    $this->connectObj =  new mysqli($this->hostnameStr,$this->user,$this->pswd);
    $this->connectObj->set_charset('utf8');
    return $this->connectObj;
    }
}
?>

到目前为止一切顺利,但这可能不是一个好方法。 在我做的另一个php文件中:

<?php
            require_once("../../Connections/connection.php");
            $connect = new Connection();
            $connection = $connect->connect2db("myDbName");
            $result_test = $connection->query("SELECT * FROM test ORDER BY uid ASC");
            while ($row = $result_test->fetch_assoc()){
                echo "<p>" . $row['firstname'] . " " . $row['lastname'] . "</p>";
            }
<?>

当你拥有大量数据库时,这是连接数据库的最佳方式吗? 当我试图关闭连接时,一切看起来也没问题。

<?php
    optional
    echo "closed = " . ($connection->close());
    // this gives me true / 1
?>

两天前我开始学习这个,所以这可能不清楚或完全是胡说八道。一切似乎都很好,但我确信有不同的方法可以提高代码的效率。

有什么建议吗?

是否显示结果时关闭连接的另一种方法是什么? 我是在代码的光明面上学习还是这样做是错误的?

一个真正的新手问题,但我希望有人能够向我解释基础知识?!

我应该像我在一个例子中看到的那样提出PDO请求吗?

$pdo = new PDO([params])...

这里有点困惑!

PS:我没有运行“WAMPSERVER”,我正在使用phpmyadmnin,PHP 5.3(dll)和PHP 7.0.1作为Fast cgi,Windows 10开发IIS7。

1 个答案:

答案 0 :(得分:1)

首先,让你的代码像这样:

connection.php:

<?php
$hostname = "127.0.0.1";
$user = "userName";
$pswd = "mypassword";
$database = "myDbName";
$charset = "utf8";

$connection = new mysqli($hostname,$user,$pswd,$database);
$connection->set_charset($charset);

并在另一个文件中

<?php
require_once("../../Connections/connection.php");
$result_test = $connection->query("SELECT * FROM test ORDER BY uid ASC");
while ($row = $result_test->fetch_assoc()){
    echo "<p>" . $row['firstname'] . " " . $row['lastname'] . "</p>";
}

它将允许您通过仅在connection.php文件中更改其凭据,在不同的站点上使用相同的代码。

但是如果你愿意接受好的建议,并且想避免很多麻烦,那就选择PDO而不是mysqli。这是我写的PDO tutorial,它将帮助您以正确的方式开始使用它。