我目前要連到一個遠端資料庫(固定IP)
然後會使用他的資料庫
我在遠端有設權限了
也有開啟防火牆port 3306
在我使用的電腦打
<?php
$db_server = '遠端的固定IP';
$db_name = '資料庫名稱';
$db_user = '使用名子';
$db_passwd ='密碼';
//對資料庫連線
$db = mysqli_connect($db_server, $db_user , $db_passwd, $db_name);
if (mysqli_connect_error($db))
echo "無法連線" .mysqli_connect_error();
//資料庫連線採UTF8
mysqli_set_charset($db,'utf-8');
//選擇資料庫
if (!@mysqli_select_db($db,'test'))
die("無法使用資料庫")
?>
但是會無法連線
請問是甚麼問題呢?
http.conf
for Apache 2.2
<Directory />
ServerName test
Options None
Order allow,deny
Allow from all
</Directory>
for Apache 2.4
<Directory />
Require all granted
</Directory>
apache 重新啟動
MySQL要加一個可以從特定IP或"任何"IP連接的使用者,且不要壞習慣用root
ALL PRIVILEGES 也是壞習慣,但我不知你要何種權限,你自己定
1.201是你的xampp的電腦上的IP
CREATE USER 'user'@'192.168.1.201' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'192.168.1.201'
IDENTIFIED BY 'newpassword';
或 'user'@'%' 不指定IP,任何主機都能連
你把PHP黨路徑C:\xampp\htdocs
的權限調一下看看
ex: Everyone -> 完全控制
我猜你遠端的資料庫有固定ip,而 xampp沒有固定ip。
mysql 要開啟遠端連線的固定ip是填 xampp的ip,不能填localhost.需要xampp端有固定ip才能連哦。
這個給你參考參考:
https://www.webteach.tw/?p=3685