我一直在读通过,测试,以及从了解如何创建针对值的数组列匹配的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