网站上传至000webhost.com后数据库连接报错求助
解决000webhost上PHP数据库连接报错的问题
嘿,我来帮你揪出这个数据库连接报错的问题!看了你贴的代码,结合000webhost的环境特性,大概率是这几个地方出了问题:
数据库主机地址错误:000webhost的数据库主机默认不是
000webhost,你得去自己的主机控制面板里找准确的主机地址——多数情况下是localhost,但有时候会是他们提供的专属域名(比如带主机标识的地址),一定要严格照搬控制面板里的信息。变量名不一致:你前面定义的数据库连接变量是
$connection,但最后几行的mysqli_query用的是$conn,这会直接抛出「Undefined variable」的错误,得把所有的$conn改成$connection才行。缺少连接错误检测:现在的代码没做连接失败的判断,就算出错了你也不知道具体原因,建议加上错误检测逻辑,方便排查问题。
给你修正后的参考代码:
<?php error_reporting(E_ALL); ini_set('display_errors', 1); // 开启错误显示,方便调试,上线后可以关掉 global $connection; // 替换成你从000webhost控制面板拿到的正确主机地址 $connection = mysqli_connect("localhost", "course_coordination", "1122334455", "id5418791_course_coordination"); // 检测连接是否成功 if (!$connection) { die("数据库连接失败: " . mysqli_connect_error()); } // 设置字符集,注意用正确的变量名$connection mysqli_query($connection,"SET character_set_results = 'utf8'"); mysqli_query($connection,"SET character_set_client = 'utf8'"); mysqli_query($connection,"SET character_set_connection = 'utf8'"); ?>
另外还要再核对这几个信息是否完全匹配:
- 数据库用户名(
course_coordination) - 数据库密码(
1122334455) - 数据库名(
id5418791_course_coordination)
这些信息都要和000webhost控制面板里的完全一致,哪怕一个字母大小写错了都连不上。
内容的提问来源于stack exchange,提问作者Sarah AH
相关产品推荐
相关产品推荐

