变量的回声不起作用

时间:2012-10-09 07:03:24

标签: php sql

嘿伙计们我写了一小段代码连接到数据库,然后用echo输出一些数据,但它不能像我想的那样工作:编辑更新的代码:

   <html>
 <head>
  <title>Automatische E-mails</title>
 </head>
 <body>
 <?php
    include("db_login.php");

    $link = mysql_connect($host, $user, $pass) or die ("Keine Verbindung zu der Datenbank moeglich.");
    mysql_select_db($db, $link);
    $sql = "SELECT `ID_Zuordnung`, `Username`, `Hostname_alt`, `Datum_Ausgabe` FROM `zuordnung` WHERE `Status_Tausch` = 'OK' AND `Status_Altgeraet` = 'NOK' ORDER BY `Hostname_alt` ASC";

    $result = mysql_query($sql);

    while($resultarray = mysql_fetch_array($result))
    {
            echo '<p>'.$resultarray['HW_Typ'].'</p>';
            echo '<p>'.$resultarray['Hostname_alt'].'</p>';
            echo '<p>'.$resultarray['Username'].'</p>';
            echo '<p>'.$resultarray['Emailadresse'].'</p>';
            echo '<p>'.$resultarray['Datum_Ausgabe'].'</p>';
            echo '<p>'.$resultarray['Abteilung'].'</p>';
    }

    ?> 
 </body>
</html>

Running产生了这个输出:

'.$resultarray['HW_Typ'].'

'; echo '

'.$resultarray['Hostname_alt'].'
'; echo '

'.$resultarray['Username'].'
'; echo '

'.$resultarray['Emailadresse'].'
'; echo '

'.$resultarray['Datum_Ausgabe'].'
'; echo '

'.$resultarray['Abteilung'].'
'; } ?> 

我的错误是因为昨天一切正常!

5 个答案:

答案 0 :(得分:2)

我发现有几件事可能导致问题:

1:

1.1:查询。你有a)但是没有地方(因此可以删除一个......也就是你有一个;最后。不能伤害它,但不是必要的

1.2在Zuordnung_ID

之后你错过了一个

1.3根据订单,您错过了订单的方式(ASC或DESC)

1.4还有另一个注释(据我所知不需要,但是就这样教给我自己,那个字段名必须被一个`

包围)

那么sql代码将如下所示:

$sql = "SELECT `Zuordnung_ID`, `HW_Typ`, `Hostname_alt`, `Username`, `Emailadresse`, `Datum_Ausgabe`, `Abteilung`
        FROM `zuordnung`
            ON `users.Username` = `zuordnung.Username`
        WHERE `Status_Tausch`='OK' AND `Status_Altgeraet`='NOK'
        ORDER BY `Hostname_alt` ASC";

<强> 2

echo不需要(),并尝试在begin和and使用相同的引号。所以它看起来像这样:

while($resultarray = mysql_fetch_array($result))
    {
            echo '<p>'.$resultarray['HW_Typ'].'</p>';
            echo '<p>'.$resultarray['Hostname_alt'].'</p>';
            echo '<p>'.$resultarray['Username'].'</p>';
            echo '<p>'.$resultarray['Emailadresse'].'</p>';
            echo '<p>'.$resultarray['Datum_Ausgabe'].'</p>';
            echo '<p>'.$resultarray['Abteilung'].'</p>';
    }

你应该试试这个

版本2: 试试这个:

$textHolder = "";
while($resultarray = mysql_fetch_array($result))
    {
            $textHolder .= '<p>' . $resultarray['HW_Typ'] . '</p>';
            $textHolder .= '<p>' . $resultarray['Hostname_alt'] . '</p>';
            $textHolder .= '<p>' . $resultarray['Username'] . '</p>';
            $textHolder .= '<p>' . $resultarray['Emailadresse'] . '</p>';
            $textHolder .= '<p>' . $resultarray['Datum_Ausgabe'] . '</p>';
            $textHolder .= '<p>' . $resultarray['Abteilung'] . '</p>';
    }
echo $textHolder;

如果版本2不起作用,请尝试版本3

版本3:

您可以尝试的是我用来解析数据库中的数据。 mysql_fetch_assoc。那么代码看起来像这样:

$textHolder = "";
while($resultassoc = mysql_fetch_assoc($result))
    {
            $textHolder .= '<p>' . $resultassoc['HW_Typ'] . '</p>';
            $textHolder .= '<p>' . $resultassoc['Hostname_alt'] . '</p>';
            $textHolder .= '<p>' . $resultassoc['Username'] . '</p>';
            $textHolder .= '<p>' . $resultassoc['Emailadresse'] . '</p>';
            $textHolder .= '<p>' . $resultassoc['Datum_Ausgabe'] . '</p>';
            $textHolder .= '<p>' . $resultassoc['Abteilung'] . '</p>';
    }
echo $textHolder;

答案 1 :(得分:0)

使用

        echo "<p>$resultarray['HW_Typ']</p>";
        echo "<p>$resultarray['Hostname_alt']</p>";
        echo "<p>$resultarray['Username']</p>";
        echo "<p>$resultarray['Emailadresse']</p>";
        echo "<p>$resultarray['Datum_Ausgabe']</p>";
        echo "<p>$resultarray['Abteilung']</p>";

将起作用

答案 2 :(得分:0)

此处的代码未正确复制,或者'中的单引号db_login.php不匹配。仔细检查一下。

答案 3 :(得分:0)

您的Sql查询似乎有错误。可能是你错过了前2列(Zuordnung_ID,HW_Typ)之间的逗号,并且查询使用了ON连接条件,但是没有与users表的JOIN。

确保您的查询正确或可能是以下查询正确吗?

SELECT Zuordnung_ID, HW_Typ, Hostname_alt, Username, Emailadresse, Datum_Ausgabe, Abteilung
FROM zuordnung
    INNER JOIN users ON users.Username = zuordnung.Username)
WHERE Status_Tausch='OK' AND Status_Altgeraet='NOK'
ORDER BY Hostname_alt

答案 4 :(得分:0)

实际上,您的网络服务器似乎没有启用PHP,并且正在为您提供原始源文件。我敢打赌,如果您查看源代码,您将看到整个PHP源代码。