|
发表于 2022-6-28 22:13:34
|
显示全部楼层
就是允许其他主机访问你的数据库,你现在是localhost应该不会是这个原因,我给之前我的连接方式给你参考一下:
数据库连接参数配置文件内容:
- <?php
- //连接数据库配置文件
- header('Content-type:text/html;charset=utf-8');
- define('Db_host','localhost');//主机地址
- define('Db_user','root');//用户名
- define('Db_password','root');//密码
- define('Db_database','softwareengineering191');//数据库名
- define('Db_port','3306');//端口号
- ?>
复制代码
数据库连接并且操作数据库文件内容:- <?php
- //连接数据库
- function connect($host=Db_host,$user=Db_user,$password=Db_password,$database=Db_database,$port=Db_port){
- $link=mysqli_connect($host,$user,$password,$database,$port);
- if(mysqli_connect_errno())
- {
- exit(mysqli_connect_errno());
- }
- mysqli_set_charset($link,'utf-8');
- return($link);
- }
- //执行一条SQL语句,返回一个结果集对象或者布尔值function($link(数据库链接),$query(SQL语句字符串))
- function execute($link,$query)
- {
- $result=mysqli_query($link,$query);
- if(mysqli_errno($link))
- {
- exit(mysqli_error($link));
- }
- return($result);
- }
- //执行一条语句,只会返回布尔值
- function execute_bool($link,$query)
- {
- $bool=mysqli_real_query($link,$query);
- if(mysqli_errno($link))
- {
- exit(mysqli_error($link));
- }
- return($bool);
- }
- /*
- 一次性执行多条SQL语句
- $link:连接
- $arr_sqls:数组形式的多条sql语句
- $error:传入一个变量,里面会存储语句执行的错误信息
- */
- function execute_multi($link,$arr_sqls,&$error){
- $sqls=implode(';',$arr_sqls).';';
- if(mysqli_multi_query($link,$sqls)){
- $data=array();
- $i=0;//计数
- do {
- if($result=mysqli_store_result($link)){
- $data[$i]=mysqli_fetch_all($result);
- mysqli_free_result($result);
- }else{
- $data[$i]=null;
- }
- $i++;
- if(!mysqli_more_results($link)) break;
- }while (mysqli_next_result($link));
- if($i==count($arr_sqls)){
- return $data;
- }else{
- $error="sql语句执行失败:<br /> 数组下标为{$i}的语句:{$arr_sqls[$i]}执行错误<br /> 错误原因:".mysqli_error($link);
- return false;
- }
- }else{
- $error='执行失败!请检查首条语句是否正确!<br />可能的错误原因:'.mysqli_error($link);
- return false;
- }
- }
- //获取记录数
- function num($link,$sql_count){
- $result=execute($link,$sql_count);
- $count=mysqli_fetch_row($result);
- return $count[0];
- }
- //数据入库之前进行转义,确保数据能够顺利入库
- function escape($link,$data){
- if(is_string($data)){
- return mysqli_real_escape_string($link,$data);
- }
- if(is_array($data)){
- foreach ($data as $key=>$val){
- $data[$key]=escape($link,$val);
- }
- }
- return $data;
- //mysqli_real_escape_string($link,$data);
- }
- //关闭与数据库的连接
- function close($link){
- mysqli_close($link);
- }
- ?>
复制代码 |
|