2014-06-05 4 views
0

먼저 mysql (i) 언어의 멍청한 개발자가되어 PHP의 기본 사항을 약간만 알아 두십시오.PHP/MYSQLI : PHP에서 mysqli_query가 실패합니다.

참고 : 현재 웹 페이지가 호스팅되는 서버를 관리하거나 소유하고 있거나 액세스 할 수 없습니다. 그러나 phpMyAdmin 페이지에 액세스 할 수 있습니다.

즉, 나는 몇 가지 물건을 시험해보고있는 웹 페이지를 가지고있다. 지금은 데이터베이스에 링크 된 로그인 페이지를 만들려고합니다. 이제

코드를 보라 :

$mysql_host = "localhost"; 
$mysql_user = "my_user"; 
$mysql_database = "my_database"; 
$mysql_password = "my_password"; 

$table = "my_tablename"; 

// Create connection 
$con=mysqli_connect($mysql_host,$mysql_user,$mysql_password,$mysql_database); 

// Check connection 
if (mysqli_connect_errno($con)) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

// sending query 
$result = mysqli_query("SELECT * FROM my_tablename"); 
if (!$result) { 
    echo "Query to show fields from table failed! :-("; 
} 

지금, 여기에 실제 문제가 온다. 페이지를 실행하자마자 "테이블의 필드를 표시하는 쿼리가 실패했습니다!"라는 질문을 받게됩니다. 에러 메시지. 하지만 phpMyAdmin 'SQL'탭에서 동일한 쿼리를 입력하면 원하는 결과를 얻을 수 있습니다. 어떻게 phpMyAdmin이 나에게 결과를주는 동안 웹 페이지가 나에게 오류를 내고, 어떻게 해결합니까?

+0

mysqli 확장자가 이전 mysql과 약간 다릅니다. 절차 적 코딩에 링크 식별자가 있어야합니다. – andrew

답변

2

를 사용하여 올바른 구문 :

$result = mysqli_query($con, "SELECT * FROM my_tablename"); 

당신은 현재 mysqli 연결을 연결하는 것을 잊었다. 첫 번째 매개 변수는 링크입니다. mysqli 연결을 사용하려면 (여러 conn에 유용) 두 번째 매개 변수는 쿼리입니다.

+0

아! 나는 스크립트의 시작 부분에서 이미 연결을했기 때문에 연결의 끝에서 스크립트가 닫히는 것을 알고 있기 때문에 그렇게 생각할 것입니다. 그러나'$ result'가 연결 전달로 인해 부분적으로'true'가 될 것이기 때문에 쿼리가 실패했는지 어떻게 알 수 있습니까? – MaxForce

+0

나는 무엇을 의미하는지 모르겠습니다. 그것은 연결 링크가 필요하지 않은 오래된 mysql에서 작동했습니다. –

+0

'$ con' 부분이 통과하기 때문에'! $ result'는'false'가됩니다. ''SELECT * FROM my_tablename ''도 통과하는지 어떻게 확인할 수 있습니까? – MaxForce

관련 문제