Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 变量的回显不起作用_Php_Sql - Fatal编程技术网

Php 变量的回显不起作用

Php 变量的回显不起作用,php,sql,Php,Sql,嘿,伙计们,我写了一段短代码,连接到数据库,然后用echo将一些数据输出,但它不能像我想要的那样工作:编辑更新的代码: <html> <head> <title>Automatische E-mails</title> </head> <body> <?php include("db_login.php"); $link = mysql_connect($host, $user, $

嘿,伙计们,我写了一段短代码,连接到数据库,然后用
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>
我不知道哪里是我的错误是因为昨天一切都好

使用

        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>";
echo“$resultarray['HW_Typ']

”; echo“$resultarray['Hostname\u alt']

”; echo“$resultarray['Username']

”; echo“$resultarray['EmailAddresse']

”; echo“$resultarray['Datum_Ausgabe']

”; echo“$resultaray['Abteilung']

”;

将起作用

或者代码没有正确复制到这里,或者在
db\u login.php
中有一个不匹配的单引号
。请仔细检查。您的Sql查询似乎有错误。可能在前两列(Zuordnung_ID,HW_Typ)之间缺少一个逗号,并且查询使用了ON-join条件,但没有与users表连接

请确保您的查询是正确的,或者以下查询可能是正确的

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

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

1:

1.1:查询。你有一个),但没有一个(这样一个可以被删除…你也有一个;在最后。不能伤害它,但不是必要的

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";
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>';
    }
$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;
2:

echo不需要(),并尝试在开始和结束时使用相同的引号。因此,它将如下所示:

$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";
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>';
    }
$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;
while($resultarray=mysql\u fetch\u数组($result))
{
回显“”.$resultarray['HW_Typ']。

”; 回显“”。$resultarray['Hostname\u alt']”。

; 回显“”。$resultarray['Username']。

”; 回显“”.$resultarray['EmailAddresse']。

”; 回显“”.$resultarray['Datum_Ausgabe']。

”; echo“”.$resultarray['Abteilung']。

”; }
你应该试试这个

第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;
$textHolder=”“;
而($resultarray=mysql\u fetch\u数组($result))
{
$textHolder.=''.$resultarray['HW_Typ'].

'; $textHolder.=''.$resultarray['Hostname\u alt'].

'; $textHolder.=''.$resultarray['Username'].

'; $textHolder.=''.$resultarray['emailadrese'].

'; $textHolder.=''.$resultarray['Datum_Ausgabe'].

'; $textHolder.=''.$resultarray['Abteilung'].

'; } echo$textHolder;
如果版本2不起作用,请尝试版本3

第3版:

您可以尝试的是我用来解析数据库中的数据。mysql\u fetch\u assoc。因此,代码如下所示:

$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";
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>';
    }
$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;
$textHolder=”“;
而($resultassoc=mysql\u fetch\u assoc($result))
{
$textHolder.=''.$resultassoc['HW_Typ'].

'; $textHolder.=''.$resultassoc['Hostname\u alt'].

'; $textHolder.=''.$resultassoc['Username'].

'; $textHolder.=''.$resultassoc['emailadrese'].

'; $textHolder.=''.$resultassoc['Datum_Ausgabe'].

'; $textHolder.=''.$resultassoc['Abteilung'].

'; } echo$textHolder;

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

在echo之后删除括号?请停止使用
mysql.*
函数我怀疑这可能会导致您看到的问题,但sql查询的p不匹配A关于用户的
论文。Username=zuordnung.Username)
mysqli确实有效,但它不能解决您的问题。TWCrap和Bondye试图说的是:不鼓励使用mysql函数,“改用PDO或mysqli”()@Twrap Thank将在我要创建一个公共站点时使用mysqli这有什么不同?
echo
可以是
echo()
这不起作用。
$resultaray[…]
内引号将无法按预期进行解析。它需要
{$resultaray[…]
才能工作。抱歉,我没有注意到
db_login.php是正确的,已经有2个站点使用了它。代码是用strl+a复制的,因此应该更正,而sql查询至少有一个语法错误,这并不能解释为什么输出为post。确定在我的第一篇文章中更新了我的代码必须仍然有错误吗?sql查询是wright的,我在phpmyadminnope中测试过,没有一个是令人讨厌的,没有理由不工作,但仍然是一样的:(@Alesfatalis,如果你不回显$textHolder怎么办?因此它只会将值添加到$textHolder,但不会输出它…我已经从i-net的hello world示例中复制了整个php代码,现在一切都正常了,你得到了wright的答案,因为你修复了很多其他问题。谢谢:)@Alesfatalis,很高兴我能帮上忙:我希望你已经从中学到了^ ^ ^ ^ ^是的,看到了整个源代码,但是php在同一个文件夹中启用了im,其中已经有一个php站点在运行。你能想象任何配置会导致这种情况吗?老实说,没有线索;但至少你可以将示例脚本简化为一个echo