MySQL 没有连接到数据库

     2023-02-25     248

关键词:

【中文标题】MySQL 没有连接到数据库【英文标题】:MySQL doesn't connect to the database 【发布时间】:2016-02-22 03:51:55 【问题描述】:

我正在我的电脑上的 LAMP 下测试本地登录数据库页面。即使我可以从终端连接到 mysql,我也不能从 php 脚本中这样做。我已经在网上到处查看了,但无论我走到哪里,它都只是以下代码的一种或另一种变体

<!DOCTYPE HTML5>
<html>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <link rel="stylesheet" type="text/css" href="style.css">
    <head>
    </head>
    <body>

    <?php

    $username = $_POST['username'];
    $password = $_POST['password'];

    /* connect to the db */
    $connection = mysql_connect('localhost', 'username', 'password') or die ("Connect error");
    mysql_select_db('myDatabase',$connection);
    /* show tables */
    $res = mysql_query("SHOW DATABASES", $connection) or die ("No Show Database");
    while ($row = mysql_fetch_row($res))
    
        echo $row[0], '<br/>';
    

    ?>

    </body>
</html>

还有另一个页面需要用户名和密码,然后通过 POST 方法将其传递到此页面,但此页面立即显示连接错误。我尝试使用 if else 而不是 or die 但仍然无法连接。

【问题讨论】:

or die ("Connect error"); 对您没有帮助。 or die(mysql_error()) 将,or die ("No Show Database"); 相同 Your script is at risk for SQL Injection Attacks. 如果可以的话,你应该stop using mysql_* functions。 These extensions 已在 PHP 7 中删除。了解PDO 和 MySQLi 的 prepared 语句并考虑使用 PDO,it's really not hard。 也使用php.net/manual/en/function.error-reporting.php 这里的目标是什么?使用 POST 数组/变量并充当数据库连接的参数? 【参考方案1】:

您必须将变量传递给连接函数并显示有意义的错误描述:

$username = $_POST['username'];
$password = $_POST['password'];

/* connect to the db */
$connection = mysql_connect('localhost', $username, $password) or die(mysql_error());

Your script is at risk for SQL Injection Attacks. 如果可以的话,你应该stop using mysql_* functions。 These extensions 已在 PHP 7 中删除。了解 prepared 的 PDO 和 MySQLi 语句并考虑使用 PDO,it's really not hard。

虽然您真的不想以这种方式连接到您的数据库,但它留下了太多的机会。当你使用密码时,你真的应该使用 PHP 的built-in functions 来处理密码安全。如果您使用的 PHP 版本低于 5.5,则可以使用 password_hash() compatibility pack。

【讨论】:

不干净的变量传递到数据库函数@vp_arth。我正试图在通行证上阻止它。 如果你是关于user/pass - 它的意思是接收不干净的变量(原样)。但是,如果您要查询,那么没有任何连接的show databases 怎么会有 sql 注入的风险? 他没有将它们传递给SHOW DATABASES; OP 正在将它们传递给mysql_connect(),并且那里没有可能进行 SQL 注入。我只是提醒OP。这不是“是否”的问题,而是 OP“何时”将用户数据发送到他们的数据库的问题。 嗯,好吧)我只是想,可能是在mysql_connect 中发现了新的漏洞,说密码很长......也许你知道,我不知道 :) @JayBlanchard 我看你一直都是对的 Sam。我认为你已经从商店拿回了你的水晶球,而且都打磨得很漂亮,我可以补充一下 ;-)

Mysql连接到没有任何数据库的服务器

】Mysql连接到没有任何数据库的服务器【英文标题】:Mysqlconnecttoserverwithoutanydatabase【发布时间】:2015-01-1313:13:59【问题描述】:在我的程序C#程序中,如果mysql服务器上不存在多个mysql数据库,我需要创建它们。所以我创建了一... 查看详情

在没有xml的spring boot中连接到mysql数据源

】在没有xml的springboot中连接到mysql数据源【英文标题】:connectingtomysqldatasourceinspringbootwithoutxml【发布时间】:2016-09-1901:37:52【问题描述】:我正在使用SpringInAction4一书中的一些示例。@BeanpublicDataSourcedataSource()returnnewEmbeddedDatabaseB... 查看详情

远程连接到 MySQL 数据库 [重复]

】远程连接到MySQL数据库[重复]【英文标题】:ConnecttoMySQLDatabaseRemotely[duplicate]【发布时间】:2013-08-1017:01:41【问题描述】:如果我在一个站点上托管了一个MySQL数据库,并且我想从另一个站点连接到它,有没有办法做到这一点?... 查看详情

使用 Node.js 从 AWS Lambda 函数连接到 MySql 数据库,没有连接回调

】使用Node.js从AWSLambda函数连接到MySql数据库,没有连接回调【英文标题】:ConnectingtoMySqldatabasefromAWSLambdafunctionusingNode.js,noconnectcallback【发布时间】:2021-07-0201:39:58【问题描述】:我正在尝试使用nodejs14.x环境从用Node.js编写的AWSLam... 查看详情

在命令提示符下使用 Java 连接到 MySQL 数据库

】在命令提示符下使用Java连接到MySQL数据库【英文标题】:ConnectingtoMySQLdatabaseusingJavaincommandprompt【发布时间】:2014-09-0203:32:46【问题描述】:由于我现在没有netbeans,我正在尝试通过命令提示符从我的Java代码连接到MySQL数据库。... 查看详情

无法连接到 Ubuntu 中的 mysql 数据库

】无法连接到Ubuntu中的mysql数据库【英文标题】:unabletoconnecttomysqldatabaseinUbuntu【发布时间】:2015-11-1423:41:48【问题描述】:我现在面临这个问题好几天了。我正在尝试在Ubuntu机器上连接到我的MySQL。但我没有通过这个。请查看我... 查看详情

将 Java 连接到 MySQl 数据库

】将Java连接到MySQl数据库【英文标题】:ConnectingJavatoMySQldatabase【发布时间】:2011-04-2619:02:33【问题描述】:有没有一种将Java程序连接到MySQL数据库的标准方法,哪种方法最简单?【问题讨论】:【参考方案1】:JDBC也是easiest的... 查看详情

我无法连接到 MySQL 数据库 [重复]

】我无法连接到MySQL数据库[重复]【英文标题】:IamunabletoconnecttoMySQLdatabase[duplicate]【发布时间】:2017-11-2120:13:38【问题描述】:我已将JDBC连接器添加到我的类路径,但我仍然收到“java.lang.ClassNotFoundException:com.mysql.jdbc.Driver”错... 查看详情

尝试通过 SIngleton 模式连接到 MySQL 数据库 [重复]

】尝试通过SIngleton模式连接到MySQL数据库[重复]【英文标题】:TryingtoconnecttoMySQLdatabasethroughSIngletonpattern[duplicate]【发布时间】:2019-05-0802:45:49【问题描述】:正如标题所说,我正在尝试通过单例设计模式连接到我的数据库,但它... 查看详情

Maven Spring Boot 尝试连接到 MySQL

...在尝试将我的Web应用程序连接到MySQL。SpringBoot没有检测到数据库,但可以连接到服务器。有人可以引导我朝着正确的方向前进,以便它可以检测到架构。使用@Entity注释,它应该在数据库中自动创建一个表作为“用户”。它还应 查看详情

Grails 应用程序无法连接到 mysql 服务

...没有对数据源进行任何更改。通过查看tomcat日志,看起来数据库设置在部署时没有被覆盖,asstatedi 查看详情

连接到 MySQL 数据库时有关 SSL 连接的警告

】连接到MySQL数据库时有关SSL连接的警告【英文标题】:WarningaboutSSLconnectionwhenconnectingtoMySQLdatabase【发布时间】:2016-03-1508:56:03【问题描述】:通过以下两个类,我尝试连接到MySQL数据库。但是,我总是收到此错误:WedDec0922:46:52C... 查看详情

使用 DSN ODBC 2 连接到 ONLINE MySQL 数据库

】使用DSNODBC2连接到ONLINEMySQL数据库【英文标题】:ConnecttoONLINEMySQLdatabaseusingDSNODBC2【发布时间】:2012-06-0414:20:03【问题描述】:我正面临这个问题:***question除了我的主机似乎没有cpanel。由于链接问题中给出的答案与cpanel相关,... 查看详情

3306端口没有监听?无法远程连接到 MySQL

】3306端口没有监听?无法远程连接到MySQL【英文标题】:Port3306notlistening?Can\'tconnecttoMySQLremotely【发布时间】:2017-11-2017:01:27【问题描述】:我正在尝试使用pymysql远程连接到MySQL,但收到错误消息:(2003,"Can\'tconnecttoMySQLserveron\'ipad... 查看详情

无法连接到 android KivyMD 上的 mysql 数据库

】无法连接到androidKivyMD上的mysql数据库【英文标题】:can\'tconnecttomysqldatabaseonandroidKivyMD【发布时间】:2021-01-0517:37:21【问题描述】:这是我的代码,它在我的电脑上运行没有问题try:connection=mysql.connector.connect(host=\'sql12.freesqldataba... 查看详情

无法通过 SSH 连接到 MySQL 服务器(由 Strato 托管)

...的MySQL服务器。我正在按照thispage上的说明使用PuTTy连接到数据库。现在如果我使用终端连接到我的数据库没有问题:但是一旦我尝试使用NaviCat或MySQL 查看详情

将我的 MySQL 数据库连接到 phpMyAdmin

】将我的MySQL数据库连接到phpMyAdmin【英文标题】:ConnectingmyMySQLdatabasestophpMyAdmin【发布时间】:2015-05-1402:58:33【问题描述】:我正在运行MacOS10.10.2。我最近一直在自学php和SQL,以便为我的雇主创建一个在线数据库应用程序。但是... 查看详情

无法通过 Workbench 连接到 RDS MySQL 数据库

】无法通过Workbench连接到RDSMySQL数据库【英文标题】:UnabletoConnecttoRDSMySQLdatabaseviaWorkbench【发布时间】:2018-11-2913:12:33【问题描述】:我使用AmazonRDS创建了一个MySQL数据库,其设置如下,现在处于available状态。引擎:MySQL5.6.39数据... 查看详情