关于PHP无法连接数据库的一些见解与纠正

来源:互联网 发布:网络食品销售餐饮制售 编辑:程序博客网 时间:2024/05/21 06:49

在之前刚学PHP的时候,遇到了一个问题,就是数据库的连接。书本是Robin Nixon著的PHP/MYSQL与JAVASCRIPT学习手册。我写下来也算是对书本的纠正,以便后学者可以查阅。
书本的216页例10.1:login.php文件
这个例子是创建一个文件来储存登录信息。
原例子如下:

<?php //login.php$db_hostname='localhost';$db_database='publications';$db_username='username';$db_password='password';?>

保存为login.php文件
接下来是连接文件

<?phprequire_once'login.php';//引用php文件$conn = new mysqli($hn,$un,$pw,$db);if(conn->connect_error)die($conn->connect_error);?>

一般老鸟都知道,这里新建了一个对象,用mysqli函数的方法连接到数据库
后面只需要填入属性值就行了。但是不知道是书本印刷错误还是作者疏忽,new mysqli 里面引用的变量跟login.php无关,所以运行时会出错。
其实很简单,把login的里的变量名改一下,就可以完成第一步连接数据库了
如下

<?php//login.php$hn="localhost";$un="username";$pw="password";$db="publications";//由于我创建的数据库叫publications

第一步就连接成功了。
第二步测试连接 我附上php.net中测试代码

<?php$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');/* * This is the "official" OO way to do it, * BUT $connect_error was broken until PHP 5.2.9 and 5.3.0. */if ($mysqli->connect_error) {    die('Connect Error (' . $mysqli->connect_errno . ') '            . $mysqli->connect_error);}/* * Use this instead of $connect_error if you need to ensure * compatibility with PHP versions prior to 5.2.9 and 5.3.0. */**if (mysqli_connect_error()) {    die('Connect Error (' . mysqli_connect_errno() . ') '            . mysqli_connect_error());}**//推荐用法-------------------------------------echo 'Success... ' . $mysqli->host_info . "\n";$mysqli->close();?>

由于上面第一种测试连接可以存在兼容性错误,建议用我选择推荐的第二种测试方法

if (mysqli_connect_error()) {    die('Connect Error (' . mysqli_connect_errno() . ') '            . mysqli_connect_error());}

检查一下拼写错误,就可以了

0 0
原创粉丝点击