$connect = mysqli_connect('127.0.0.1','root','123456','DB_Module');
$sql = "select * from BI_Module";
$result = mysqli_query($connect,$sql);
while($row = mysqli_fetch_row($result)){
echo $row[0];
}
?>
上面代码在服务器端,用php conn.php访问没有问题,在网页端访问出现Permission denied
<?php
$connect = mysqli_connect('localhost','root','123456','DB_Module');
$sql = "select * from BI_Module";
$result = mysqli_query($connect,$sql);
while($row = mysqli_fetch_row($result)){
echo $row[0];
}
?>
将127.0.0.1改为localhost 一切正常。测试php文件如下:
<meta http-equiv="content-type" content="text/html" charset="utf-8"/>
<h1>用mysqli面向对象方法连接数据库!</h1>
<form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>">
服务器地址:<input type="text" name="mysqlip"/>
<br/>
服务器账号:<input type="text" name="mysqluser"/>
<br/>
服务器密码:<input type="password" name="mysqlpassword"/>
<br/>
<input type="submit" value="连接mysql"/>
</form>
<?php
if($_SERVER['REQUEST_METHOD']=="POST"){//获取提交方式进行对比,然后用if进行判断!
//用mysqli面向对象方法连接mysql数据库
$servername=$_POST['mysqlip'];//服务器地址
$username=$_POST['mysqluser'];//用户账号
$password=$_POST['mysqlpassword'];//密码
$conn = new mysqli($servername,$username,$password);//把myqli实例化,用面向对象链接mysql数据库!
if($conn->connect_error){//$conn->connect_error用面向对象来表示,有错误信息会返回字符串,没错误信息返回null;用if判断输出的信息;
echo "连接失败!".$conn->connect_error;//返回null输出
}else{
echo "你所连接的数据库地址为:".$servername;
echo "<br/>你所连接的数据库账号为:".$username;
echo "<br/>你所连接的数据库密码为:".$password;
echo "<br/>连接成功!";//返回字符串输出
}
if($conn->connect_error){
echo "<br/>未检测到连接的数据库,所以未关闭!";
}else{
$conn->close();//面向对象关闭数据库!
echo "<br/>已成功关闭数据库连接!";
}
}
?>