gpt4 book ai didi

PHP - PDO 'config' 等效文件

转载 作者:可可西里 更新时间:2023-11-01 13:56:53 26 4
gpt4 key购买 nike

这可能是一个之前已经回答过的问题 - 如果是这样,请在下面发表评论,我会删除这个问题。

我一直在学习 PHP 类(class),同时正在跳转到 PDO。

我似乎找不到的一个概念是如何用类完成与此等效的概念:

config.php

<?php

$host = 'localhost';
$user = 'user';
$pass = 'pass';

$con = mysql_connect($host, $user, $pass) or die("MySQL Error");
mysql_select_db("account_db", $con);

?>

another.php

<?php

require_once('config.php');

$selectStatement = "SELET foo FROM bar";
$selectQuery = mysql_query($selectStatement, $con);

?>

我还没有完全弄清楚如何为 PDO 连接创建配置文件/类,然后在另一个类中使用它,即如下用户:

<?php

class Users
{
private $_userId;

function setUserId($username)
{
// Use a predefined database handle to connect to a database to get the users ID - I assume using a preconfigured $dbh handle via an include or extend?
$sth = $dbh->prepare("SELECT id FROM users WHERE username = :username");
$sth->bindParam(':username', $username);
...
}
}

?>

谢谢大家:)

最佳答案

在我的项目中,我更喜欢使用带有静态成员的类来保存 PDO 对象。

<?php
class DB
{
private static $instance = null;
public static function get()
{
if(self::$instance == null)
{
try
{
self::$instance = new PDO('mysql:host=localhost;dbname=name', 'user', 'abc123');
}
catch(PDOException $e)
{
// Handle this properly
throw $e;
}
}
return self::$instance;
}
}

我可以这样访问它:

<?php
require 'DB.php';
class Users
{
private $_userId;

function setUserId($username)
{
// Using DB::get() to get the PDO object
$sth = DB::get()->prepare("SELECT id FROM users WHERE username = :username");
$sth->bindParam(':username', $username);
...
}
}

关于PHP - PDO 'config' 等效文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314648/

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