最近有项目需要用PHP,于是利用业余的时间学习PHP,语法没什么问题,实战中马上卡壳了,遇到了和MySQL的连接问题。总结如下:
1、和PHP4不同,PHP5中MySQL不再是内置支持的数据库了,安装的PHP的时候需要在php.ini中将
extension=php_mysql.dll
extension=php_mysqli.dll
之前的分号(;)去掉,PHP4默认是没有分号的。
2、上面的步骤之后,页面还是什么都不显示,连接测试的代码如下:
<?php
/* Connect to a MySQL server */
$link = mysqli_connect(
'localhost', /* The host to connect to */
'root', /* The user to connect as*/
'root', /* The password to use */
'books'); /* The default database to query */
if (!$link) {
printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());
exit;
}
/* Send a query to the server */
if ($result = mysqli_query($link, 'select * from books')) {
/* Fetch the results of the query */
while( $row = mysqli_fetch_assoc($result) ){
printf("%s <br/>", $row['title']);
}
/* Destroy the result set and free the memory used for it */
mysqli_free_result($result);
}
/* Close the connection*/
mysqli_close($link);
?>
程序运行到数据库连接的那一句就不再向下执行了。今天下班归来,在网上找了一些资料细细看了下,再仔细看我安装的PHP运行phpinfo()函数的输出,根本就没有MySQL的信息。解决方案是拷贝PHP安装目录下的libmysql.dll、php_mysqli.dll、php_mysql.dll到系统目录windows/system32下,我的测试代码需要php_mysqli.dll和libmysql.dll就可以了。万事开头难,再接再厉。