2013-12-03 3 views
-1

그래서 최근에 내 모든 서버 (우분투 12.04 LTS)에 완벽하게 작동하는 내 노트북에서 PHP 파일과 데이터베이스를 옮겼습니다.mysqli PHP 쿼리 haywire

갑자기 모든 쿼리가 작동하지 않습니다. 그래서 문제 해결을 시작했습니다. 필요한 PHP 패키지가 모두 설치되었습니다 (phpinfo()를 sibstechnologies.com/kaas.php에서 확인할 수 있음). 그리고 데이터베이스 연결은 정상적으로 작동합니다. 아래 코드의 결과는 연결이 작동하지만 쿼리가 null을 반환한다는 것을 보여줍니다. (이 페이지는 여기 http://sibstechnologies.com/koekoek.php 참조). 나는 100 % 쿼리가 작동하고 데이터베이스가 존재하는지 확신합니다. mysql 커맨드 라인 에디터에서 테스트하면 원하는 결과를 얻을 수 있습니다.

<html> 
    <body> 
    <?php 
    include "db_connect.php"; 
    if ($mysqli->connect_error) { 
     echo "Not connected, error: " . $mysqli_connection->connect_error; 
    } 
    else { 
     echo "Connected."; 
    } 
    $result = mysqli_query($mysqli, "SHOW TABLES"); 
    $query_result=mysql_query($showtablequery); 
      while($showtablerow = mysql_fetch_array($query_result)) 
      { 
      echo $showtablerow[0]." "; 
      } 

    foreach ($result as $row) { 
    echo "nana \n"; 
    var_dump($row); 
    } 
    ?> 

    </body> 
    </html> 

고마워, 당신은 당신이 라이브러리를 혼합하고

+0

코드의 어디에서나 $ showtablequery가 정의되어 있지 않습니다. –

+0

** mysql_fetch_array ** 및 ** mysql_query **가 문제가됩니다. 자세히 보시려면 – Leonardo

답변

0

나는 anwser를 발견했다. PHP와 MySQL 사이의 통신을 위해 php5-mysqlnd를 사용하고있었습니다. 하지만 나는 구식 PHP 버전을 사용하고있었습니다.

비슷한 문제가있는 경우 최신 버전의 것을 사용하고 있는지 확인하십시오.

php --version 
mysql --version 

터미널에 두 줄을 입력하고 해당 줄이 실제로 최신 버전인지 확인하십시오.

1

알려 추가 정보가 필요한 경우 :

$result = mysqli_query($mysqli, "SHOW TABLES"); 
       ^---note the i 
$query_result=mysql_query($showtablequery); 
        ^---note the LACK of an i 

이것은 "갑자기 작동이 중지"하지 않습니다. 이것은 첫 번째 장소에서 결코 작동하지 않습니다.

+0

foreach 루프가 여전히 올바르게 작동해야합니다. 이것은 테스트를 위해 던진 페이지입니다. 결과는 내가이 정확한 대구와 내 오프라인 페이지에있어 : ​​Connected.nana array (1) {[ "Tables_in_SBS"] => 문자열 (8) "acordeon"} 나나 배열 (1) {[ "Tables_in_SBS"] => nana 배열 (1) {[ "Tables_in_SBS"] => 문자열 (7) "웹 페이지"} –