代码都是刚从自己编辑器上拷贝下来的,可以直接复制黏贴运行。
<?php
header('content-type:text/html;charset=utf-8');
error_reporting(E_ALL ^ E_DEPRECATED);
// 设计一个mysql数据库操作类
$config=array(
'host'=>"localhost",
'port'=>3306,
'user'=>"root",
'pass'=>'',
'char'=>"utf8",
'db'=>"test"
); // 把未来将要传过来的数据库配置文件编辑成一个数组,以数组形式传递参数给类
class MYSQL{
private $link=null;
private $host; // 考虑到以后要每个页面可能都要连接一次数据库,所以就直接在实例化对象的时候直接把各个配置的信息数据保存到对应的这个对象中 以待下次直接new一个对象的时候就可以使用
private $port;
private $user;
private $pass;
private $char;
private $db;
function __construct($config){ //因为是构造函数所以 一实例化 就会连接上这个数据库 把数组加载进来
// 把连接过来的数据库信息保存起来,留以它用
$this->host=!empty($config['host']) ? $config['host'] : "localhost";
$this->port=!empty($config['port']) ? $config['port'] : "3306";
$this->user=!empty($config['user']) ? $config['user'] : "root";
$this->pass=!empty($config['pass']) ? $config['pass'] : "";
$this->char=!empty($config['char']) ? $config['char'] : "utf8";
$this->db=!empty($config['db']) ? $config['db'] : "test"; //三元运算符用上了,意思为: 如果对应的那个数组中的某个单元不为空,则把它的值赋上,否则 直接采用默认的值。
$link=@mysql_connect("{$config['host']}:{$config['port']}","{$config['user']}","{$config['pass']}"); //连接数据库的语句 数据是数组中的对应单元的数据
$this->charset($this->char); // 考虑到可能会改变数据库或者字符编码,所以在这个构造函数中还要直接执行这个另外选用数据库或者选取字符编码的操作
$this->usedb($this->db);
}
function charset($charset){ // 设置字符编码
mysql_query("set names {$charset} ");
}
function usedb($db){ //更改要使用的数据库
mysql_query("use {$db}");
echo "已切换数据库 {$db} <br>";
}
function closeDB(){ //关闭数据库
mysql_close($this->link);
echo "已关闭数据库连接";
}
function exec($chaxun){ // 返回增,删,改语句的返回真假结果
$result= mysql_query($chaxun); //把增,删,改运行的语句结果赋值给result 结果是boolen类型的,已测试过
if($result===false){
// 语句执行失败,处理失败 返回错误代号
echo mysql_error($link);
echo "数据执行失败";
exit();
}else{
//语句执行成功,返回true
echo "数据执行成功了";
return true;
}
}
function getOneRow($sql){ //执行一条返回一行数据的语句,返回一维数组
$result = mysql_query($sql);
$arr=mysql_fetch_assoc($result);
return $arr;
}
}
?>
上面的代码可以起名 ‘mysql_tool.php’然后引入其他文件进行调用,如下
<?php
require "./mysql_tool.php";
$obj=new MYSQL($config);
// $obj->exec($sql);
$sql1="select name from stu ";
$obj->getRows($sql1);
var_dump($obj->getOneRow($sql1));
echo "<br>";
var_dump($obj->getRows($sql1));
echo "<br>";
var_dump($obj->getOnedata($sql1));
echo "<br>";
echo $obj->getOnedata($sql1);
?>