我写了一个连接到MySql DB的php类,然后执行INSERT。我已经完成了这个工作,并且工作。现在,我想将代码的连接部分添加到配置文件,我可以从这里调用它。将MySql连接添加到配置文件
我怎么能在PHP中做到这一点?
<?php
mysql_connect("localhost", "user", "xxxxx") ;
mysql_select_db("mydb");
...
...// Insert to DB (which works)
?>
我写了一个连接到MySql DB的php类,然后执行INSERT。我已经完成了这个工作,并且工作。现在,我想将代码的连接部分添加到配置文件,我可以从这里调用它。将MySql连接添加到配置文件
我怎么能在PHP中做到这一点?
<?php
mysql_connect("localhost", "user", "xxxxx") ;
mysql_select_db("mydb");
...
...// Insert to DB (which works)
?>
您可以编写连接编码在类的构造函数,如:
function __construct($host,$user,$password,$dbname){
mysql_connect($host,$user,$password) ;
mysql_select_db($dbname);
}
或者你也可以创造一个连接定义另一个类,然后你可以扩展类根据自己的需要(继承)
我不完全理解,但POR把这个参数在配置文件中这样做 配置文件
$config['hostname'] = 'yourserver';
$config['user'] = 'youruser';
$config['password'] = 'password';
,然后调用这个在你的类连接
mysql_connect($config['hostname'],$config['user'],$config['password']);
或越容易构建与conexion的参数的构造,并且看起来这
function __construct($host,$user,$password,$database){
mysql_connect($host,$user,$password) ;
mysql_select_db($database);
}
由于从PHP他们不会通知正式弃用mysql_ *扩展,直到至少PHP 5.5/6.0,所以你有一些时间来重写你的脚本之前,这些函数完全消失或E_DEPRECATED错误开始出现。 http://news.php.net/php.internals/53799
因此,使用PDO或mysqli的新脚本:
连接与PDO
<?php
try{
$con = new PDO('mysql:host=127.0.0.1;dbname=test','root','password');
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$con->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
}catch (Exception $e){
die('Cannot connect to database. Details:'.$e->getMessage());
}
?>
现在,如果上面的代码是在您的配置文件,那么你可以使用include('config.php')
,然后 $con
将包含您的连接对象。
由于$con
不是全局范围,您需要通过构造将它传递给您的类。
<?php
include('config.php');
class yourclass{
function __construct(PDO $con){
$this->db = $con;
}
function someMethod($valueA,$valueB){
$sql = "INSERT
INTO TABLE
(
colA,
colB
)VALUES(
:colA,
:colB
)";
$query = $this->db->prepare($sql);
$query->bindParam(":colA", $valueA);
$query->bindParam(":colB", $valueB);
$query->execute();
}
}
$aClass = new yourclass($con);
$aClass->someMethod('someValueforA','someValueforB');
?>
希望它有帮助。
通过使用ph连接到mysql数据库非常简单。尽管使用MySQLi或PDO而不是MySQL函数更好,因为它们可能有一些SQL注入或其他安全问题。 给你的文件一个像config.php这样的名字,并把它添加到你想使用mysql连接的时候。 使用require_once或者包含php的函数来使用这个。
希望能帮到..
你有什么试过的?新代码也不应该使用你应该学习和使用PDO或mysqli的mysql_ *函数。 –
你的意思是像include,include_once,require或require_once之类的东西吗? – Tynarus
@Tynarus我的意思是,将连接字符串添加到1个文件中,然后从其他PHP文件中访问它。 (类似于配置文件) – Illep