2012-12-29 157 views
0

我正在用mysql集成編寫一個簡單的php應用程序。
我有一個簡單的HTML頁面,我正在連接數據庫,然後進行驗證,我想打印主機信息。將php輸出到html中未顯示

我有this in the html file.
輸出是兩個橫槓之間沒有任何東西。

代碼有什麼問題?

我寫在Ubuntu的12.10,在aptana工作室(也使用燈)。

+0

我漫步爲什麼printf – samayo

+0

我試過的代碼;至少應該在行之間看到「主機信息:」。你確定你沒有看到?!?!?如果你不這樣做,那麼請將mysql行刪除,並將鏈接設置爲一些虛擬值,並至少看看你得到了什麼。它可能是一個錯誤傳播從mysql – RonaldBarzell

+0

什麼是您的文件名的擴展名。 .html或.php?正如羅納德所說,如果php得到正確解釋,那麼你應該至少看到「主機信息」字符串打印。如果您的文件的擴展名爲.html,那麼除非您將.html處理爲.php,否則上述內容將無法使用。我可以離開這裏,但那只是我的2美分 –

回答

1

所有的跡象都表明,你的PHP沒有被執行期。你的數據庫代碼可能仍然關閉,但我們現在還沒有。這意味着兩件事情之一正在發生。要麼你的擴展是錯誤的,或者你的PHP沒有配置。

首先,試試這個腳本(它保存爲info.php的):

<?php 
    phpinfo(); 
?> 

如果不工作,那麼你就沒有配置。如果這確實起作用,那麼試試這個稍微長一點的裸骨的例子;這是你的代碼,沒有數據庫連接。你應該在行之間看到一個存根消息。同樣,不要忘記.php擴展名時保存它:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Database Management Systems II - 2nd assignment</title> 
    </head> 
    <body> 
     <hr> 
     <?php 
      $link = 'link'; 
      printf("Host information: %s\n", $link); 
     ?> 
     <hr> 
    </body> 
</html> 
+0

我認爲我完全錯了我執行它的方式。我在/ var/www /創建了文件test.php(具有root權限),然後運行它並運行。我如何使用aptana studio或geanny寫入/ var/www /? – Chris

+0

我從來沒有使用過這些工具;我想應該有一個選項來更改「發佈」區域或一些這樣的... – RonaldBarzell

+0

你推薦使用哪個工具來使用php + html? – Chris

0

你是有點過你的MySQLi對象,它應該更像..

$link = new mysqli("localhost", "my_user", "my_password", "dbname"); 
printf("Host Information: %s\n", $link->host_info); 

MySQLi的是一種面向對象的系統,host_info是,你可以訪問,一旦你有一個有效的實例的公有成員的MySQLi。

http://php.net/manual/en/mysqli.get-host-info.php

編輯: 允許錯誤報告,並檢查連接。

<?php 
    error_reporting(E_ALL^E_NOTICE); 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>Database Management Systems II - 2nd assignment</title> 
    </head> 
    <body> 
     <hr> 
     <?php 
      $link = mysqli_connect("host","username","pass","database"); 
      if(mysqli_connect_error()) 
       echo "MySQLi Error: " . mysqli_connect_error(); 
      else 
       echo "MySQLi Host Info: " . mysqli_get_host_info($link); 
     ?>  
     <hr> 
    </body> 
</html> 
+0

mysqli也支持程序風格。這使Chris的代碼正確。他應該至少看到「主機信息」打印。 –

+0

這是我在教練給我們的pdf上看到的。 :/ – Chris

+0

我還沒有意識到mysqli也有程序API。所有相同的,你可以嘗試echo而不是printf。回聲「主機信息:」.mysqli_get_host_info($ link); – 2012-12-29 00:26:54

0

檢查以確保你實際上是連接到數據庫:

$link = new mysqli("localhost", "my_user", "my_password", "dbname"); 
if (mysqli_connect_error()) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
     . mysqli_connect_error()); 
}