我一直在讀通過,測試,以及從瞭解如何創建針對值的數組列匹配的MySQL的語句來了短...MySQL的WHERE陣列
這裏就是我有...
<form id="form" action="index.php" method="post">
<?
$query = "SELECT Interest FROM Interests";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
{
echo '<input type="checkbox" name="Interest[]" value="' . $row['Interest'] . '" /> ' . $row['Interest'] . '<br />';
}
?>
<input id="Search" name="Search" type="submit" value="Search" />
</form>
<?
if (isset($_POST['Search']))
{
$InterestMatches = implode(',', $_POST['Interest']);
$query = "SELECT MemberID FROM MemberInterests WHERE Interest IN ($InterestMatches)";
$result = mysql_query($query) or die(mysql_error());
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
while ($row = mysql_fetch_assoc($result))
{
$ResultingMemberIDs[] += $row['MemberID'];
}
}
?>
而我總是得到的是同樣的錯誤......
Unknown column 'WhateverInterest' in 'where clause'
有人可以告訴我什麼,我做錯了,我需要做的糾正呢?
您能得到什麼,如果你打印'$ query'?另外一定要清除你輸入到查詢中的任何變量,惡意用戶可以注入sql。 – Jim 2012-04-16 16:41:06
謝謝你,但這只是測試代碼,我生病的人死於那些想要告訴他們所有關於sql注入攻擊的帖子,並且在我的帖子中給我一個負數... – 2012-04-16 17:29:48
我不是downvoter ,也不會拖延尋找sql注入漏洞的問題。我只是添加了這個,因爲我已經提出了一個問題。 – Jim 2012-04-17 11:56:18