好的。我有这样的代码在我的网站:找到MySQL查询不起作用的原因
<?php
session_start();
include "database.php";
include "bruger.php";
$bruger = new bruger();
if($bruger->logget_ind()){
$brugernavn = $_SESSION['brugernavn'];
$bruger_slash = addslashes($brugernavn);
$hnavnn = mysql_query(" SELECT hnavn FROM bruger WHERE brugernavn = '" . $bruger_slash . "'");
$hnavn = mysql_fetch_row($hnavnn);
$hinfoo = mysql_query(" SELECT besked, Afsender FROM $hnavn[0]");
while ($hinfo = mysql_fetch_array($hinfoo)){
echo "<form method = post action = $PHP_SELF>\n";
echo "Ja<input type=radio name=valg1 value=\"ja\"> Nej<input type=radio name=valg value=\"nej\">";
echo "<input type=submit value=\"Svar\">\n";
if (isset($_POST["valg1"])){
$brugernavn = $_SESSION['brugernavn'];
$bruger_slash = addslashes($brugernavn);
$frahvem = $hinfo["Afsender"];
$query = "UPDATE bruger SET `Status` = '$frahvem' WHERE brugernavn = '$bruger_slash'";
mysql_query($query) or die (mysql_error());
$query1 = "UPDATE bruger SET `Ansfra` = 'Nej' WHERE hnavn = '$frahvem'";
mysql_query($query1) or die (mysql_error());
echo "Du har nu givet dit svar!";
}
echo "<br>";
}
}
else {
echo "Du er ikke logget ind";
}
?>
我一直在努力,现在发现在八天内一些帮助,因此,我渴望:) 它看起来好像它只能运行第一的mysql_query,但不下一个。 嗯..
有人可以看到故障是什么?
(对不起我的英语不好);)
尝试mysql_free_result($ hnavnn);也许资源需要被释放。 – Daisetsu 2010-08-17 23:57:43
'SELECT besked,Afsender FROM $ hnavn [0]' - 具有相同结构和相同目的的多个表可能不是一个好设计。两个输入无线电元件的名称不一样(第二个输入无线电元件丢失尾部的'1')很可能也存在问题。 – VolkerK 2010-08-18 00:01:12
这不太可能是你真正的问题,但它是一个问题:使用'mysql_real_escape_string()'来引用。 'addslashes()'是为不同的目的而设计的,在某些情况下会引起错误的引用。 – staticsan 2010-08-18 00:20:34