gpt4 book ai didi

PHP 数据库建议

转载 作者:行者123 更新时间:2023-11-29 02:25:05 26 4
gpt4 key购买 nike

很抱歉缺少关于这个问题的信息,我只需要一些代码方面的建议。我认为只有程序员才能回答这个问题,因为我的代码是独一无二的,我找不到任何对我有帮助的答案。

索引.php

<?php
include ( 'Blue/BlueDatabase.php' );
include ( 'Blue/BlueUsers.php' );

use Blue\BlueDatabase;
use Blue\BlueLoader;

$database = new BlueDatabase();
$database->Connect('localhost', 'root', '', 'database');
?>

现在我有我的“BlueLoader”类,我在类中也有这段代码

$database = new BlueDatabase();
$database->Connect('localhost', 'root', '', 'database');

我想知道的是。是否值得将该代码添加到每个类?它使它看起来不整洁,我认为会有更稳定的方式来做。我以前做过连接功能后还需要做吗?每个类(class)都需要做吗?我只是 php 的新手,对某些事情不确定。这个脚本稳定吗?/安全

任何建议或答案都会有帮助

以防万一您需要我的连接函数(我所有的 mysql 命令都在一个数组中,例如

//Example:
$commands['mysql_query'] = mysql_query;

final public function connect($sHost, $sUser, $sPass, $sName, $sPort = false, $sType = 'mysql_connect')
{
if(!$this->connected)
{
if ($sPort)
{
$sHost = $sHost . ':' . $sPort;
}
$this->connection = $this->_aCmd[$sType]($sHost, $sUser, $sPass);

if($this->connection)
{
$mydatabase = $this->_aCmd['mysql_select_db']($sName, $this->connection);

if($mydatabase)
{
$this->connected = true;
}
else
{
die('could not connect to database');
}
}
else
{
die('could not connect to host');
}
}
}

最佳答案

建议:

  • Stop using the deprecated ext/mysql extension .不要费心尝试将其包装在 OO 框架中。

  • 使用 PDO ,因为它已经有很好的 OO 用法,并且具有 ext/mysql 没有的其他几个特性。 Mysqli 是 runner ,但我发现 PDO 更易于使用。

  • 不要在每个使用数据库的类中打开一个新连接。创建一个连接并将连接对象传递给每个此类,可能作为构造函数参数。

  • 另一种方法是使用 Registry class存储“全局”对象,例如数据库连接。

关于PHP 数据库建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23917317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com