关键词:
【中文标题】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数据... 查看详情