2013-02-19 76 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'] . "');";

简单:)