2017-04-19 3 views
0

우분투 16.10 x86_64 x86_64가 있습니다. PHP로 프로그래밍하고 데이터베이스를 생성하기 위해 LAMP를 설치했습니다. 내 PHP 프로그램에서 테이블의 모든 행의 데이터를 사용하여 HTML로 테이블을 생성하기 위해 로컬 데이터베이스에 연결하려고합니다. 문제는 파이어 폭스를 통해 PHP 파일 (localhost/file.php)을 열 때 브라우저가 아무 것도 충전하지 않는다는 것입니다. thare가 데이터베이스와의 연결 중 오류가 발생하면 브라우저에 내용이 인쇄됩니다. 다음 코드 :오류없이 데이터베이스 연결이 없음

<!DOCTYPE html> 
<html> 

<head><title> SQL & PHP </title></head> 

<body> 

<?php 


$db = mysql_connect("localhost", "root", "password") 
     or die ("Non riesco a creare la connessione"); 


mysql_select_db("scuola") 
     or die ("Non trovo il DB"); 

$sql = "SELECT id_utente, nome_utente, password_utente, conta_pres FROM utenti WHERE conta_pres <> 0"; 

$ris = mysql_query($sql) or die ("Query fallita!"); 

echo "<TABLE><TR><TH>ID utente <TH> Nome utente <TH>Password<TH>Contatore visite</TR>"; 

while ($riga= mysql_fetch_array($ris)) 
{ 
     echo ("<TR>"); 
     echo "<TD>" . $riga["id_utente"]; 
     echo "<TD>" . $riga["nome_utente"]; 
     echo "<TD>" . $riga["password_utente"]; 
     echo "<TD>" . $riga["conta_pres"]; 

} 

mysql_close(); 
?> 
</body> 

</html> 

내가 코드 (웹 사이트를 사용하여) 구문을 확인하고 thare 내가 책으로이 일을 복사도 있기 때문에 문제가되지 않습니다. mysql_connect가 더 이상 사용되지 않으므로 새 mysqli_connect로 바꾸었지만 오류는 여전히 남아있다 : ​​white page. 나는 2 개의 에코를 연결하려고 시도했다. 첫 번째 에코 만 화면에 인쇄됩니다. 나는 apt-get을 PHP5-mysql을 설치 터미널 sudo를 입력 할 시도했지만 오류가 : 는 "PHP5-MySQL은"패킷은

이 가

누군가가 나를 도울 수 설치하시기 바랍니다 실행되지 않은 은?

+3

mysql_ * 기능을 사용하지 마십시오. mysql_ * 함수는 PHP 5.5.0부터 사용되지 않으며 PHP 7.0.0부터 제거되었습니다. [PDO] (https://secure.php.net/manual/en/pdo.prepared-statements.php) 또는 [mysqli] (http://php.net/manual/en/mysqli.)를 사용하도록 코드를 전환하십시오. quickstart.prepared-statements.php)를 사용하십시오. – aynber

+0

직선의 흰색 페이지가 표시되면 서버 오류 로그에서 이유를 확인하십시오. – aynber

+0

나는 mysql_connect가 5.6 이전에 사용되지 않을 것이라고 생각한다. 그래서 가능성이 PHP - 7 –

답변

1

우선 mysql 대신 mysqli을 사용하십시오.

나는이 문제를 발견했다고 생각한다. mysqli_select_db에 전화하면 2 개의 매개 변수가 필요하며 하나만 지정해야합니다. $db 데이터베이스 연결을 설정 했더라도 데이터베이스 이름을 선택할 데이터베이스를 지정해야합니다.

이렇게 mysqli_select_db($db, "scuola") 트릭을해야합니다.

하단의 연결을 닫을 연결을 지정합니다. 귀하의 경우 : mysqli_close($db);

<!DOCTYPE html> 
<html> 

    <head><title> SQL & PHP </title></head> 

    <body> 

     <?php 


     $db = mysqli_connect("localhost", "root", "password") 
      or die ("Non riesco a creare la connessione"); 


     mysqli_select_db($db, "scuola") // see this line 
      or die ("Non trovo il DB"); 

     $sql = "SELECT id_utente, nome_utente, password_utente, conta_pres FROM utenti WHERE conta_pres <> 0"; 

     $ris = mysql_query($sql) or die ("Query fallita!"); 

     echo "<TABLE><TR><TH>ID utente <TH> Nome utente <TH>Password<TH>Contatore visite</TR>"; 

     while ($riga= mysql_fetch_array($ris)) 
     { 
      echo ("<TR>"); 
      echo "<TD>" . $riga["id_utente"]; 
      echo "<TD>" . $riga["nome_utente"]; 
      echo "<TD>" . $riga["password_utente"]; 
      echo "<TD>" . $riga["conta_pres"]; 

     } 

     mysqli_close($db); // see this line 
     ?> 
    </body> 

</html> 
관련 문제