——此文章摘自《PHP网络编程典型模块与实例精讲》定价
¥
特价
¥
详细>>
获取到用户输入的信息后就该把这些信息记录到数据库中不过在此之前需要先建立PHP与MySQL数据库的连接
在PHP中要建立与MySQL数据库的连接需要使用mysqli构造函数其调用原型是
class mysqli {
__construct ( [string host [ string username [ string passwd [ string dbname [ int port [ string socket]]]]]] )
}
参数host指出MySQL数据库服务器一般用IP地址(也可以是主机名如localhost)指出服务器所在的机器参数username和password分别指定连接时使用的用户名和密码参数dbname指定当前连接要使用的数据库默认情况下PHP将连接到服务器的端口开发人员可以通过参数port指定使用其他的端口号参数socket较为少用它可以进一步指定所用的套接字或命名管道
在调用mysqli构造函数之后应当调用mysqli_connect_errno()函数检查数据库连接是否建立成功该函数原型是
int mysqli_connect_errno ( void )
该函数返回的是最后一次建立连接时产生的错误代码如果成功则返回返回其他值说明产生了某种类型的错误调用mysqli_connect_error()函数可以获得具体的错误信息
另外如果在建立数据库连接时没有指定dbname参数则还必须调用类mysqli的成员函数select_db()以指定使用数据库服务器的哪一个数据库该函数的原型是
bool select_db ( string database_name)
调用如果成功返回TRUE失败返回FALSE参数database_name指定要使用的数据库名称
当操作完数据库后还要调用类mysqli的成员函数close()来关闭之前打开的数据库连接从而释放连接资源虽然在PHP脚本执行完毕时PHP会自动关闭数据库连接但是及时关闭数据库连接是一个更好的编程习惯
本例中连接并使用数据库的代码如下
// 调用mysqli的构造函数建立连接同时选择使用数据库test
$db = @new mysqli( developer test);
// 检查数据库连接
if (mysqli_connect_errno()) {
echo 数据库连接失败!<br>\n;
echo mysqli_connect_error();
exit; // 退出程序后面的所有语句将不再执行
}
printf(Host information: %s <br/><br/>\n $db>host_info);
// 一些操作数据库数据的语句
// 关闭数据库连接
$db>close();
到此为止就已经建立好了一个操作数据库的PHP程序框架
应当说明的是PHP的MySQL库提供了两套操作数据库的方法一种是面向对象方式的另一种是面向过程方式的面向对象的方法是较先进的也是本书主要使用的方法
这两种方式使用时的区别在于面向对象方式调用的是类mysqli的成员函数要使用类变量来调用而不需要另外指定数据库连接资源面向过程方式调用的是全局函数要多指定一个数据库连接资源的参数另外这两者除了连接数据库的方法外其他功能的函数名是对应的差别在于面向对象方式的成员函数没有mysqli_前缀如面向对象方法使用$db>select_db(string dbname)来指定数据库而面向过程方法使用mysqli_select_db (mysqli link string dbname)来指定数据库(注意粗体部分标出了二者的区别)面向过程方法的函数中的参数mysqli link通过mysqli_connect()函数调用来获得该函数的参数与mysqli的构造函数的参数完全相同不同的是 mysqli_connect()成功时返回连接资源失败时返回布尔值FALSE
使用面向过程的方法连接数据库的例子参见第章的节注意PHP之前的版本只支持面向过程的数据库操作方法
如果用同样的参数第二次调用 mysqli_connect()将不会建立新连接而是返回已经打开的连接标识