鱼C论坛

 找回密码
 立即注册
查看: 1184|回复: 3

[已解决]php连接数据库问题

[复制链接]
发表于 2022-6-28 21:39:27 | 显示全部楼层 |阅读模式
60鱼币
php连不上数据库,有没有大佬愿意帮忙看看
  1. <?php
  2. header('content-type:text/html;charset=utf-8');
  3. $link = @mysqli_connect('localhost:3306', 'aa18', 'eFEkbxjF', 'aa18') or exit('数据库连接失败!');
  4. // $link = @mysqli_connect('localhost:3306', 'root', 'Xyh+991223', 'php_web') or exit('数据库连接失败!');
  5. mysqli_set_charset($link, 'utf8');
  6. require './common/function.php';
复制代码
最佳答案
2022-6-28 21:39:28
数据库连接失败的原因挺多的:
1.数据库没启动
2.没有设置允许远程连接
3.连接字符串错误,我看那个主机那里是不是应该写成http://localhost:3306
需要逐一排查原因才行

连接数据库连不上

连接数据库连不上

改了之后就是这样

改了之后就是这样

最佳答案

查看完整内容

数据库连接失败的原因挺多的: 1.数据库没启动 2.没有设置允许远程连接 3.连接字符串错误,我看那个主机那里是不是应该写成http://localhost:3306 需要逐一排查原因才行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-28 21:39:28 | 显示全部楼层    本楼为最佳答案   
数据库连接失败的原因挺多的:
1.数据库没启动
2.没有设置允许远程连接
3.连接字符串错误,我看那个主机那里是不是应该写成http://localhost:3306
需要逐一排查原因才行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-6-28 22:09:38 | 显示全部楼层
当初约定 发表于 2022-6-28 21:54
数据库连接失败的原因挺多的:
1.数据库没启动
2.没有设置允许远程连接

数据库应该启动了,设置允许远程连接是啥呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-28 22:13:34 | 显示全部楼层
yetu 发表于 2022-6-28 22:09
数据库应该启动了,设置允许远程连接是啥呀

就是允许其他主机访问你的数据库,你现在是localhost应该不会是这个原因,我给之前我的连接方式给你参考一下:
数据库连接参数配置文件内容:
  1. <?php
  2. //连接数据库配置文件
  3. header('Content-type:text/html;charset=utf-8');
  4. define('Db_host','localhost');//主机地址
  5. define('Db_user','root');//用户名
  6. define('Db_password','root');//密码
  7. define('Db_database','softwareengineering191');//数据库名
  8. define('Db_port','3306');//端口号


  9. ?>
复制代码

数据库连接并且操作数据库文件内容:
  1. <?php
  2. //连接数据库
  3. function connect($host=Db_host,$user=Db_user,$password=Db_password,$database=Db_database,$port=Db_port){
  4.         $link=mysqli_connect($host,$user,$password,$database,$port);
  5.         if(mysqli_connect_errno())
  6.         {
  7.                 exit(mysqli_connect_errno());
  8.         }
  9.         mysqli_set_charset($link,'utf-8');
  10.         return($link);
  11. }
  12. //执行一条SQL语句,返回一个结果集对象或者布尔值function($link(数据库链接),$query(SQL语句字符串))
  13. function execute($link,$query)
  14. {
  15.         $result=mysqli_query($link,$query);
  16.         if(mysqli_errno($link))
  17.         {
  18.                 exit(mysqli_error($link));
  19.         }
  20.         return($result);
  21. }

  22. //执行一条语句,只会返回布尔值
  23. function execute_bool($link,$query)
  24. {
  25.         $bool=mysqli_real_query($link,$query);
  26.         if(mysqli_errno($link))
  27.         {
  28.                 exit(mysqli_error($link));
  29.         }
  30.         return($bool);
  31. }

  32. /*
  33. 一次性执行多条SQL语句
  34. $link:连接
  35. $arr_sqls:数组形式的多条sql语句
  36. $error:传入一个变量,里面会存储语句执行的错误信息
  37. */
  38. function execute_multi($link,$arr_sqls,&$error){
  39.         $sqls=implode(';',$arr_sqls).';';
  40.         if(mysqli_multi_query($link,$sqls)){
  41.                 $data=array();
  42.                 $i=0;//计数
  43.                 do {
  44.                         if($result=mysqli_store_result($link)){
  45.                                 $data[$i]=mysqli_fetch_all($result);
  46.                                 mysqli_free_result($result);
  47.                         }else{
  48.                                 $data[$i]=null;
  49.                         }
  50.                         $i++;
  51.                         if(!mysqli_more_results($link)) break;
  52.                 }while (mysqli_next_result($link));
  53.                 if($i==count($arr_sqls)){
  54.                         return $data;
  55.                 }else{
  56.                         $error="sql语句执行失败:<br />&nbsp;数组下标为{$i}的语句:{$arr_sqls[$i]}执行错误<br />&nbsp;错误原因:".mysqli_error($link);
  57.                         return false;
  58.                 }
  59.         }else{
  60.                 $error='执行失败!请检查首条语句是否正确!<br />可能的错误原因:'.mysqli_error($link);
  61.                 return false;
  62.         }
  63. }
  64. //获取记录数
  65. function num($link,$sql_count){
  66.         $result=execute($link,$sql_count);
  67.         $count=mysqli_fetch_row($result);
  68.         return $count[0];
  69. }
  70. //数据入库之前进行转义,确保数据能够顺利入库
  71. function escape($link,$data){
  72.         if(is_string($data)){
  73.                 return mysqli_real_escape_string($link,$data);
  74.         }
  75.         if(is_array($data)){
  76.                 foreach ($data as $key=>$val){
  77.                         $data[$key]=escape($link,$val);
  78.                 }
  79.         }
  80.         return $data;
  81.         //mysqli_real_escape_string($link,$data);
  82. }
  83. //关闭与数据库的连接
  84. function close($link){
  85.         mysqli_close($link);
  86. }
  87. ?>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 21:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表