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