2013-02-19 36 views
4

輸出我有一個函數至極打印了一些學分:使用無法顯示在HTML

<?php 
function selectCredits() 
{ 
include 'sqlvars.php'; 
$con = mysql_connect("localhost","bbbb","bbbb"); 
    if (!$con){ 
    die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("bbbb", $con); 
    $result = mysql_query($selectCredits); 

    while($row = mysql_fetch_array($result)){ 
    echo $row['credits']; 
    } 
} 
?> 

當我從一個php文件調用它:

<?php 
include 'sql.php'; 
selectCredits(); 
?> 

我可以看到輸出,但是當我是一個HTML文件內使用此代碼,我不能得到的結果:

<center><b>Your credits: </b></center> <?php include 'sql.php'; selectCredits(); ?> 

輸出始終是:Your credits:沒有查詢結果。

可以肯定我失去了財產以後真的很小。我不是一個PHP的傢伙,但我願意學習它,已經失去了一個小時沒有任何成功。

+10

這是由設計:Web服務器將不通過PHP解釋器發送HTML格式的文件。你要麼給你所有的HTML文件的.PHP擴展名,要麼讓Web服務器解析HTML文件,或使用URL重寫的漂亮的URL – 2013-02-19 10:58:43

+0

我只是想通過添加這一行來解析它'AddHandler cgi-script .html .htm '到'.htaccess',但我得到了'403 Forbidden' ... – Slim 2013-02-19 12:07:22

回答

3

如果你真的想HTML文件來執行PHP代碼,嘗試加入這一行的htaccess:

AddType application/x-httpd-php .html 
+0

糟糕的解決方案。如果你有能力上傳文件,你可以上傳.html文件並執行它。 – 2013-05-25 15:00:03

+0

這是他尋找的解決方案。當然,這樣做不是一個好主意,但可以完成。另外,您可以阻止上傳。像你(或應該做的).php文件一樣,html文件,控制用戶上傳的文件的chmod等... – Borgtex 2013-05-26 22:01:03

1

檢查您的查詢語句'$ selectCredits'。檢查表名和屬性名稱''信用'。 $ row ['credits']沒有得到它的價值。

1

您的代碼有問題。你已經寫了

while($row = mysql_fetch_array($result)){ 
    echo $row['credits']; 
} 

你已經使用了mysql_fetch_array,並且直接回顯了帶有屬性值的$ row。如果你正在使用mysql_fetch_array,那麼使用$ row [0],$ row [1]或$ row [2]等。所有屬性都以數組形式出現。這就是爲什麼你應該把它作爲數組索引值。所以,如果「信用」屬性是在數據庫中的第5列,那麼你應該如果你使用mysql_fetch_assoc(),而不是mysql_fetch_array,那麼你可以直接寫屬性名稱呼應它作爲

echo $row['4']; 

E.g.那麼你可以寫

echo $row['credits']; 

我希望這會解決問題。請問我是否還有其他問題。

+0

'mysql_fetch_array'檢索關聯和數字。 – MaX 2013-05-28 06:08:16

0

您應該使用JavaScript代碼來實現PHP文件是這樣的:

<script type="text/javascript" src="credits.php"></script>

credits.php必須輸出:

echo "document.write('" . $row['credits'] . "');";

簡單:)