方法一:直接将参数写到连接字符串中
可以每个操作使用一个函数:
demo1-1.php
<?php //直接将参数写到连接字符串中 //使用多个函数 //依次填写主机名、用户名、密码、数据库名 $db = mysqli_connect('localhost', 'root', '168168', 'php60'); //尝试连接 if (mysqli_connect_errno($db)) { echo '连接失败'.mysqli_connect_error($db); } else { echo '连接成功'; } mysqli_select_db($db, 'php60'); //选择要操作的数据库 mysqli_set_charset($db, 'utf8'); //设置客户端默认字符编码集
也可以合并部分函数:
demo1-2.php
<?php //直接将参数写到连接字符串中 //使用多个函数,合并选择数据库和设置字符编码集 $db = @mysqli_connect('localhost', 'root', '168168', 'php60') or die ('连接失败'.mysqli_connect_error('php60')); mysqli_set_charset('php60', 'utf8'); //设置客字符编码集
方法二:将函数参数定义为常量
demo2.php
<?php header('content-type:text/html;charset=utf-8'); //将函数参数定义为常量 define ('DB_HOST', 'localhost'); //主机名 define ('DB_USER', 'root'); //用户名 define ('DB_PASS', '168168'); //密码 define ('DB_NAME', 'php60'); //数据库名 define ('DB_CHARSET', 'utf8'); //字符集编码 $db = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); if (mysqli_connect_errno($db)) { echo '连接失败'.mysqli_connect_error($db); } else { echo '连接成功'; } $db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_NAME) or die ('连接失败'.mysqli_connect_error($db)); mysqli_set_charset($db, DB_CHARSET); //设置客户端默认字符编码集
方法三:拆分配置部分和连接部分为单独的文件
配置文件 config.php
<?php //将函数参数定义为常量 define ('DB_HOST', 'localhost'); //主机名 define ('DB_USER', 'root'); //用户名 define ('DB_PASS', '168168'); //密码 define ('DB_NAME', 'php60'); //数据库名 define ('DB_CHARSET', 'utf8'); //字符集编码
连接文件 connect.php
<?php //使用配置文件保存参数 require 'config.php'; $db = @mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); if (mysqli_connect_errno($db)) { echo '连接失败'.mysqli_connect_error($db); } else { echo '连接成功'; } mysqli_select_db($db, DB_NAME); //选择要操作的数据库 mysqli_set_charset($db, DB_CHARSET); //设置客户端默认字符编码集
主页面 demo3.php
<?php //使用连接文件连接数据库 require 'connect.php';
要进一步增强安全性,可以把config.php、connect.php文件保存到web目录以外的地方。
小结:以上三种方法都可以实现数据库的连接,从方法一到方法三,不断降低耦合度,实现代码的复用、模块化。