문제

나는 LocalHost에서 웹을 만들고 있었고 호스트에서 그것을 옮기려고 할 때 많은 오류가 나타납니다. 내 로컬 데이터베이스에 연결할 수없는 것 같습니다. 코드는 다음과 같습니다.

$host = "myip";
$user = "root";
$pass = "";
$db = "mydatabase";

mysql_connect($host, $user, $pass);
mysql_select_db($db);
$on = mysql_fetch_row(mysql_query("SELECT COUNT(online) FROM characters WHERE online=1"));
echo "<br>Online: $on[0]<br><br>";

그리고 다음은 출력입니다.

Warning: mysql_connect() [function.mysql-connect]: Host 'myip' is not allowed to connect to this MySQL server in * on line 46

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in * on line 48

Online: 

도와 줘서 고마워

도움이 되었습니까?

해결책

MySQL 사용자 권한 문제입니다. 예를 들어 phpmyadmin으로 새 사용자를 생성하고 LocalHost에서 연결하는 경우 호스트를 LocalHost로 설정하거나 외부에서 연결하는 경우 %를 설정하십시오.

다른 팁

Alekc가 올바르게 언급했듯이 권한 문제입니다.

MySQL 프롬프트 에서이 작업을 수행 할 수 있습니다.

grant all privileges on mydatabase.* 
   to youruser@'your_ip_address' 
   identified by 'your_password';

다음과 함께

flush privileges;

그런 다음 다시 다시 연결하십시오. 그것을 명심하십시오 :

your_ip_adress : 그렇습니다 ~ 아니다 MySQL Server의 IP 주소이지만 귀하가 연결하는 IP 주소 (웹 서버?) Your_Password : PHP 측에서 연결을 설정할 때 사용해야하는 것입니다.

또한이 솔루션이 작동하지만 권장되는 것은 아닙니다. 모든 특권 웹 애플리케이션에서 사용할 사용자에게. 더 적은 권한으로 동일한 작업을 수행 할 수 있습니다.

멋진 GUI 프론트 엔드 로이 모든 것을 할 수 있습니다. 나는 명령 줄을 선호한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top