[英]How to connect to MySQL database from other host using PHP
我需要使用PHP連接到MySQL,但是數據庫在另一台主機上,我無法正確執行。
我正在使用此代碼。 錯誤在這一行:
$mysqli = new mysqli("hostex.lt","myInfo","pass","myInfoo");
“ hostex.lt”。 數據庫在hostex.lt中,phpMyAdmin:myadmin.hostex.lt我已經嘗試過,但它總是打印error:error:error:error:error:error:error:error:error:error:
此代碼在我使用localhost的其他項目中有效,因此這里是問題。
for($i=1;$i<=10;$i++)
{
if ($stmt = $mysqli->prepare("INSERT into game (taskai, userName) VALUE (?,?) ")) {
if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
// printf(" ", $mysqli->character_set_name());
}
$stmt->bind_param('ss', $score, $name);
// $stmt->bind_param("s", $username);
$stmt->execute();
if ($stmt->error != '') {
echo ' error:'.$stmt->error;
} else {
echo 'success';
}
$stmt->close();
} else {
echo 'error:'.$mysqli->error;
}
}
$mysqli->close();
?>
更新
我有這個錯誤:
默認情況下,MySQL只允許從本地主機訪問,如果要從其他主機訪問它,則必須明確允許它。
登錄到PHPMyAdmin,轉到Privileges,添加用戶'myDbName'@'www.ftpDomainName.lt'(@后的主機部分很重要),並授予其對數據庫的訪問權限。
如果您無權訪問PHPMyAdmin中的“特權”部分,則必須聯系數據庫的托管人。
本質上 ,這不太可能是PHP問題,但很可能是數據庫服務器上的某些問題阻止了連接。
按此順序嘗試以下操作,在每個步驟之后運行代碼:
新的MySQL用戶
數據庫服務器
在數據庫服務器上,請系統管理員編輯/etc/mysql/my.cnf(假設這是一台Linux計算機,其my.cnf存儲在此位置-系統管理員將知道如何查找正確的文件)。
防火牆功能
如果上述步驟不起作用,則很可能是防火牆阻止了該連接。
請注意,如果MySQL服務器的sysadmin不想打開防火牆上的端口或啟用與數據庫的外部連接,則您無能為力
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.