php - 使用 PHP 连接到 MYSQL 失败 (+Swift)

标签 php mysql swift

我正在尝试连接到 mysql 数据库,但由于某种原因,它无法建立连接。我想要完成的是使用 Swift 从应用程序发送/接收数据并注册用户。 This is the tutorial我经历过的。我得到的错误(当我去 domain.com/script.php 时)是:

exception 'Exception' with message 'Could not establish connection with database' in /root/blinddate/MySQLDao.php:21 Stack trace: #0 /root/blinddate/script.php(15): MySQLDao->openConnection() #1 {main}

(script.php 需要 Connection.phpMySQLDao.php 文件。

我怀疑这是我在 Connection.php 中使用的输入,但对我来说一切似乎都很好。

连接.php

<?php

class Conn {
   public static $dbhost = "vps123123.ovh.net";
   public static $dbuser = "root";
   public static $dbpass = "dbpassword";
   public static $dbname = "Test";
  }
?>

$dbhost = I used mysql > SHOW VARIABLES WHERE Variable_name = 'hostname'; and it gave me vps123123.ovh.net so I used that one.

$dbuser = I used mysql > status and get Current user: root@localhost. So, I used root.

$dbpass = The one I use when logging in mysql.

$dbname = Database name that I want to use. I can see it when I use mysql > SHOW DATABASES;

MySQLDao.php

<?php
 class MySQLDao {
   var $dbhost = null;
   var $dbuser = null;
   var $dbpass = null;
   var $conn = null;
   var $dbname = null;
   var $result = null;

   function __construct() {
   $this->dbhost = Conn::$dbhost;
   $this->dbuser = Conn::$dbuser;
   $this->dbpass = Conn::$dbpass;
   $this->dbname = Conn::$dbname;
 }

public function openConnection() {
   $this->conn = new mysqli($this->dbhost, $this->dbuser, $this->dbpass, $this->dbname);
   if (mysqli_connect_errno())
   echo new Exception("Could not establish connection with database");
 }

 //continues
}
?>

脚本.php

<?php
   require("Conn.php");
   require("MySQLDao.php");

最佳答案

我认为是以下之一

1) 因为你没有展示你是如何使用构造函数以外的类的,所以你的类实例处于谁知道的状态。

2) 外部世界无法解析到该主机名。在服务器上运行某些东西并不代表远程客户端将如何运行

3) 实际的错误消息会有所帮助,而不是覆盖您的错误消息。

4) my.conf 需要调整 bind-address 设置为 0.0.0.0 而不是 localhost 或 127.0.0.1

以上 #4 需要 mysql 守护进程 restart

5) 授予用户对 dbname 的权限

6) 谷歌 mysql 跳过网络

7)防火墙

8) netstat -tulpen 搜索mysql,看她是否监听3306端口

关于php - 使用 PHP 连接到 MYSQL 失败 (+Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30722547/

相关文章:

ios - Swift - 使用CGContext用手指画图

ios - 文件下载完成后检查内容类型 nsurlsessiondownloadtask

php - 未定义索引 : on login (php)

php - 站点迁移后 Http 请求失败 - 服务器问题

python - 为什么我无法将其正确插入到 Django 中?

Mysql触发if语句更新第二张表

mysql - 我们使用 JDBC+XMLRPC+Tomcat+MySQL 来执行潜在的大型 MySQL 查询。什么是更好的方法?

arrays - Swift 从数组返回字符串

php - PDO 中的 MySQL 数据库连接管理

php - 如何在 PHP 网站中使用 PAYPAL 立即购买按钮?