【发布时间】:2013-08-27 15:21:03
【问题描述】:
我有来自 ajax 调用的 PHP 变量。但是,当他们通过 if 语句和 while 循环时,它们是未定义的,我该如何解决这个问题。我什么都做不了。
$userID = $_POST['id'];
$clubID = $_POST['clubID'];
$type = $_POST['type'];
$delAtt = $_POST['delAtt'];
其余代码
if($delAtt == 1)
{
$result = mysql_query('SELECT * FROM events WHERE clubID = "'.$clubID.'"');
while ($row == mysql_fetch_assoc($result))
{
$eventID = $row['eventID'];
echo $eventID;
mysql_query('DELETE FROM eventmember WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"');
mysql_query('DELETE FROM eventmember2 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"');
mysql_query('DELETE FROM eventmember3 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"');
mysql_query('DELETE FROM attendance WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"');
mysql_query('DELETE FROM attendance2 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"');
mysql_query('DELETE FROM attendance3 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"');
}
}
所有变量都在 if 语句中起作用,但不在 while 循环中
【问题讨论】:
-
没有什么问题,你是做ajax POST还是GET?另外,检查拼写,区分大小写。
-
你确定你进入了 if {} 块吗?也许 delAtt 是 2 或 "1"
-
我将其设置为 1 只是为了进行测试,此外,当我回显 $clubID 时,它在 if {} 语句中有效,但在 while 循环中无效
-
如果您的数据库中没有任何带有已发布的 clubID 的事件,这是正常的。
-
mysql_*函数不再维护,不应在任何新代码库中使用。它正在逐步淘汰,以支持更新的 API。相反,您应该将prepared statements 与PDO 或MySQLi 一起使用。
标签: php variables if-statement while-loop global