【问题标题】:How do I connect the mysql server that is running off of my phone to my mac using php and dreamweaver?如何使用 php 和 dreamweaver 将手机上运行的 mysql 服务器连接到我的 mac?
【发布时间】:2015-06-25 19:05:13
【问题描述】:

我的安卓手机上有名为“Servers Ultimate Pro”的应用程序。

我已经创建了一个 MySQL、PHP 和 PHPMyAdmin、用于远程连接的 Web 服务器和用于对其进行测试的 webdav 服务器。

我在我的 Mac 上使用 Dreamweaver 连接到它,它将 php 文件同步到我的手机。

在 PHPMyAdmin 中,我创建了数据库 serverdata 和表 users

我正在尝试弄清楚如何将手机上的 MySQL 数据库连接到数据库。

我正在尝试创建一个登录系统。

在“servers Ultimate pro”上,mysql 地址为 192.168.x.xx:3306。

当我创建从手机连接到 MySQL 数据库的函数时,我的问题是关于 PHP 的。

有一件事,我在我的 mac 上没有 root 访问权限,我不能这样做,所以我将手机用作托管它的服务器,但我想学习如何将 PHP 连接到 MySQL。

【问题讨论】:

  • 您的问题是一大块文本。您能否添加一些段落以使其更具可读性?很难看出你的实际问题是什么。谢谢。
  • 您好,我推荐这个框架,它可以让您从 PHP 连接并执行任何对 mysql 的请求。因为 mysql_connect 已被弃用,你应该使用 mysqli 这就是我推荐这个框架的原因。 github.com/joshcam/PHP-MySQLi-Database-Class关于连接root的用户,查看Servers Ultimate Pro中的文档到root用户的用户名

标签: php android mysql macos phpmyadmin


【解决方案1】:

您可以创建一个数据库类(如下面提供的),在您的应用程序中包含它并创建一个新的 db 对象。首先定义连接参数,然后创建一个新的db对象。

define('DB_HOST', 'host');
define('DB_NAME', 'db name');
define('DB_USER', 'user name');
define('DB_PASSWORD', 'password');



 $db = new DatabaseService();

数据库类如下

  class DatabaseService {

//construct the connection
public function __construct() {
  $this->conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  if ($this->conn->connect_errno){
    echo "Failed To Connect to MySQLi: " . $conn->connect_error;
  }
}

//Run a mysqli query with the entered string
public function execute_query($qry) {
  $result = $this->conn->query($qry);

  if ($this->conn->error) {
      try {    
          throw new Exception('MySQL error' .  $this->conn->error . '<br> Query:<br>' . $qry . ', ' . $this->conn->errno);    
      } catch(Exception $e) {
          echo "Error No: ".$e->getCode(). " - ". $e->getMessage() . "<br >";
          echo nl2br($e->getTraceAsString());
      }
  } else {
    return $result;
  }
}

// Execute query and return assoc array
public function execute_assoc_query($qry) {
  $rows = array();
  if($result = $this->execute_query($qry)) {
    while ($row = $result->fetch_assoc()) {
      $rows[] = $row;
    }
    return $rows;
  } else {
    return null;
  }
}

// Return ID of newly inserted item
public function execute_query_id($qry) {
  $this->execute_query($qry);
  return $this->conn->insert_id;
}
}

这可以通过调用数据库并传递一个查询字符串来使用。

$users = $db->execute_assoc_query('SELECT * FROM users');

有关更多信息,我建议阅读 mysqli php mysqli 上的 php 文档

【讨论】:

  • 如何创建mysql连接的用户名和密码?
  • 如果您可以登录 php my admin,您应该已经拥有一个,但是您可以在 php my admin 菜单中创建用户。单击用户选项卡以查看当前用户列表或添加新用户。
  • 那么,我使用我在 phpmyadmin 中创建的用户和密码在 php doc 中连接到 mysql?像这样? mysql('192.168.x.xx:3306, 'root', 'root', DB_NAME);
  • 是的,只需确保使用 new 关键字,因为您创建了一个新的 mysqli 对象并将连接参数传递给它。
  • 我不断收到此错误消息:“HTTP Error Code 501 Not Implemented”
【解决方案2】:

我发现我做错了什么。我使用了错误的测试服务器。我应该一直使用 RDS 服务器而不是 webDAV 服务器。

【讨论】:

    【解决方案3】:

    这是因为mysql默认的安全设置。用户 root 仅限于登录 localhost。所以你要做的是:

    1、使用PHONE中运行的任意mysql客户端 2、以root登录 3、更新mysql.user set host='%' where user='root'; 4、刷新特权

    这将允许root用户从您的电脑登录。

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 1970-01-01
      • 2013-06-02
      • 2012-10-11
      • 2020-06-07
      • 2017-03-20
      • 2020-11-26
      • 2012-04-02
      • 2015-07-13
      相关资源
      最近更新 更多