簡體   English   中英

從本地主機連接到服務器數據庫

[英]Connect to server database from localhost

我正在嘗試從本地主機連接到服務器數據庫。

$host = 'http://www.my-domain.com/phpmyadmin/';
$user = 'u5er';
$pass = 'pa55w0rd';
$db = 'db_name';

$con = mysqli_connect($host,$user,$pass,$db) or die("Error " . mysqli_error($con));
$sql = "SELECT col FROM test WHERE id = '1'";

$result = mysqli_query($con,$sql);

失誤

Warning: mysqli_connect(): in C:\xampp\htdocs\sp_concord\cenova_nabidka\page\vytvor.php on line 362

Warning: mysqli_connect(): in C:\xampp\htdocs\sp_concord\cenova_nabidka\page\vytvor.php on line 362

Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\sp_concord\cenova_nabidka\page\vytvor.php on line 362
Error

有可能解決嗎? 如何確定我的服務器是否允許外部連接? 以及如何定義應從哪個IP地址訪問數據庫?

感謝您的任何建議。

編輯:好的,我已經將主機更改為my-domain.com,現在它報告以下錯誤。 我的IP無法訪問MySQL服務器...

Warning: mysqli_connect(): (HY000/1130): Host '88.146.210.54' is not allowed to connect to this MySQL server in C:\xampp\htdocs\sp_concord\cenova_nabidka\page\vytvor.php on line 362
Failed to connect to MySQL: Host '88.146.210.54' is not allowed to connect to this MySQL server
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\sp_concord\cenova_nabidka\page\vytvor.php on line 368

如果您將本地主機文件上傳到Web服務器,某些主機提供程序,也請使用“本地主機”作為主機名

$host = 'localhost';
$user = 'u5er';
$pass = 'pa55w0rd';
$db = 'db_name';

當您未將主機配置為授予訪問數據庫權限時,會出現“不允許主機'XXX.XXX.XXX'連接到該MySQL服務器”

您的日志記錄有以下行中的錯誤:

$con = mysqli_connect($host,$user,$pass,$db) or die("Error " . mysqli_error($con));

永遠不會$con分配值(基礎mysqli_connect失敗),並且您會將其傳遞給mysqli_error()

請嘗試以下操作-它會為您提供有關為什么無法連接的信息:

$con = mysqli_connect($host,$user,$pass,$db);
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

如用戶Dagon所述,您的主機字符串應類似於my-domain.com ,甚至更有可能是localhost而不是http://www.my-domain.com/phpmyadmin/

大多數外部數據庫通過具有正確端口號的IP或域/子域連接。 您已經放置了“ http”,它是端口80。大多數MySQL是3306。您的主機/外部提供程序應該已經為您提供了數據庫服務器的IP和登錄詳細信息...

您的IP地址必須注冊到主機才能連接到數據庫

是的,有可能解決該問題。 將變量$ host更改為正確的主機名(localhost或其他)。

要了解服務器是否允許外部連接,可以使用在線端口掃描來查看您的mysql端口(默認為3306)是否對外界開放。

要定義哪些IP地址可以訪問您的數據庫,您應該使用防火牆規則。

主機字符串錯誤。 有效的mysql URL格式為“ mysql://hostname.tld/database”。 但是,管理員使Internet上的SQL數據庫可用是非常不尋常的。 您很可能應該嘗試從與數據庫服務器相同的服務器或網絡上運行php應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM