当前位置: 首页 > 知识库问答 >
问题:

无法连接到本地mysql

皇甫雨华
2023-03-14

我试图连接到一个名为BetaPoint的数据库。所有凭据都位于PHP文件名建立ccess.php中,格式为

<?php
  define (DB_USER, "BetaPoints");
  define (DB_PASSWORD, "password!");
  define (DB_DATABASE, "BetaPoints");
  define (DB_HOST, "hostname");
?>

我正试图用这个连接到数据库

$connctn=mysql_connect($DB_HOST,$DB_USER,$DB_PASSWORD)
or die("cannot connect to database");
mysql_selectdb('BetaPoints')
or die('cannot select database');

我得到这个错误:

注意:第6行的未定义变量:DB_HOST in/home/content/06/8274306/html/beta/mysuperscript.php

注意:未定义变量:第6行 /home/content/06/8274306/html/beta/mysuperscript.phpDB_PASSWORD

警告:mysqli_connect()[function.mysqli连接]:(HY000/2002):无法通过套接字连接到本地MySQL服务器'/var/lib/mysql/mysql.sock'(2)在 /home/content/06/8274306/html/beta/mysuperscript.php在第6行不能连接到数据库

我在我的变量中寻找错误,我已经用我定义给这些变量的凭据多次登录,但我仍然无法找到错误。

它说我无法连接到本地MySQL数据库,但据我所知,它不是本地数据库。

如果有人有任何建议,请在下面张贴。我试图得到帮助,找到更多关于问题的信息,以及我能做的任何解决方案。

共有2个答案

鞠宏恺
2023-03-14

您已经定义了常量,然后将它们称为变量。这就是错误。DB_USER,DB_PASSWORD,DB_DATABASE,DB_HOST是常量,应该使用如下:DB_USER而不是$DB_USER。

此外,我建议使用如下引号声明它们:

define ("DB_USER", "BetaPoints");

另外,正如另一位用户首先评论的那样,mysql_selectdb语法是错误的。正确的语法是mysql_select_db(“db_name”);

魏毅
2023-03-14

编辑:首先,您要声明常量,因此不需要$变量语法。

$connctn=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD)

因此,请确保为所有常量使用正确的数据。

此外,您的语法为mysql_selectdb('BetaPoint')是不正确的。

selectdb之间缺少下划线。

使用mysql_select_db('BetaPoint')mysql_select_db('BetaPoint',$conctn)

  • 咨询,并按照:http://php.net/manual/en/function.mysql-select-db.php

手册中的示例:

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Not connected : ' . mysql_error());
}

// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Can\'t use foo : ' . mysql_error());
}
?>

但是,mysql_函数不建议使用,并将从未来版本中删除。

使用die('notconnected:').mysql_error())而不是或die('cannotselectdatabase')

  • 考虑使用预先准备好的语句查看mysqli,或者使用预先准备好的语句查看PDO,它们会更安全

警告:mysqli_connect()[function.mysqli连接]:(HY000/2002):无法通过套接字连接到本地MySQL服务器'/var/lib/mysql/mysql.sock'(2)在 /home/content/06/8274306/html/beta/mysuperscript.php在第6行不能连接到数据库

您在没有告诉我们如何使用函数的地方包含了mysqli_函数和mysql_

  • 这些不同的API不会相互混合

仅使用一个MySQL API;不是两者都有。

请参阅手册:

  • http://php.net/manual/en/function.mysqli-connect.php

mysqli\u connect()手册中的示例:

<?php
//conection:
$link = mysqli_connect("myhost","myuser","mypassw","mydb") 
or die("Error " . mysqli_error($link));

//consultation:

$query = "SELECT name FROM mytable" 
or die("Error in the consult.." . mysqli_error($link));

//execute the query.

$result = mysqli_query($link, $query);

//display information:

while($row = mysqli_fetch_array($result)) {
  echo $row["name"] . "<br>";
}
?> 
 类似资料:
  • 我试图连接到mysql数据库从docker图像。然而,这是投掷错误。 下面是我正在使用的docker图像。https://hub.docker.com/_/mysql/ 下面是我用来运行docker映像的命令。 以下是命令的输出 如果我使用docker检查IP并ping该IP,则显示IP不可访问。 如果我尝试使用和我遇到以下错误。 无法加载身份验证插件“缓存\u sha2\u密码”。

  • null 我确信我已经在127.0.0.1:27017启动了数据库服务,并且可以用shell和非异步方法连接。错误: PrimaryServerSelector没有从群集描述中选择服务器ClusterDescription{type=unknown,connectionmode=single,all=[ServerDescription{address=localhost:27017,type=u

  • 试图连接一个简单的JMX监控。托管应用程序和监控工具位于同一台服务器上。当试图连接一个错误 00:30:55610致命http-8080-6 SiteListener:makeJmxConnection:99-java.io。IOException:检索RMIServer存根失败:javax.naming。ServiceUnavailableException[根异常为java.rmi.Conne

  • 我正在尝试使用rds部署带有MySQL引擎的rds实例。数据库子网组位于公用子网中。 我已执行以下检查:-允许安全组在端口3306上进行公共访问-在端口3306上的endpointURL上成功执行Telnet命令 配置如下: 日志记录详细信息: 正在尝试使用console连接到rds

  • 问题内容: 我正在尝试使用PyMySQL连接到本地主机上的MySQL: 但是(在Python 2.7和Python 3.2上)我得到了错误: socket.error:[Errno 111]连接被拒绝 pymysql.err.OperationalError:(2003年,“无法连接到’localhost’(111)上的MySQL服务器”) 我确定mysqld正在运行,因为我可以使用command

  • 我有一个 Spring 引导项目,其中我使用 spring-boot-starter-actuator 和 io.dropwizard.metrics。 它生成我可以使用 url http://myapplication/metrics 访问的指标。我将应用程序部署在 Wildfly 10 独立服务器上。 我想使用jmx读取jconsole上的指标。我将应用程序配置为使用JMXReporter发送