作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的页面使用下拉菜单显示某个运动队的球员姓名。教练可以登录选择他的球队并选择他的球队将要对阵的对手。当用户选择球队和对手时,他点击提交并触发 isset 功能。
现在我从下拉菜单中捕获值并将其上传到数据库中的正确表。一切都非常简单,但是当我单击提交时,标题中出现错误。任何帮助将不胜感激
if ( isset($_POST['submit']) ) {
$player_ids = array_map('intval', $_REQUEST['players']);
$opponents_id = $_REQUEST['players'];
var_dump($player_ids);
var_dump($opponents_id);
$query = 'SELECT `name`, `position`
FROM `player_info`
WHERE `player_id` IN (' . implode(',', $player_ids) . ')';
$return_names = mysql_query($query) or die(mysql_error());
while ( $row = mysql_fetch_assoc($return_names) )
{
$selected[] = $row['name'];
$position[] = $row['position'];
}
$query = ("SELECT `fixture_id`
FROM `fixtures`
WHERE `fixture_id` = $opponents_id")
or die (mysql_error());
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_array($query))
{
$fixture_id[] = $row['fixture_id'];
}
for ($i=0; sizeof($selected) > $i; $i++){
$sql = mysql_query("INSERT INTO `team` (`selection_id`, `fixture_id`, `player_position`,`player_name`)
VALUES ('$fixture_id[$i]','$position[$i]','$selected[$i]')")
or die(mysql_error());
echo $selected[$i];
echo $position[$i];
echo $fixture_id[$i];
echo'<br>';
}
最佳答案
Unknown column 'Array' in 'where clause' 错误的字面意思就是它所说的 - 您试图将数组值放入 where 子句中。
在这一行中:
$query = ("SELECT `fixture_id`
FROM `fixtures`
WHERE `fixture_id` = $opponents_id")
or die (mysql_error());
您正在使用 $opponents_id
变量,您的 var_dump
显示它是一个包含五个值的数组。因此,您需要使用 IN 子句并将它们列出来(就像您对 $player_ids
所做的那样):
$query = ("SELECT `fixture_id`
FROM `fixtures`
WHERE `fixture_id` IN (" . implode(",", $opponents_id) . ");")
or die (mysql_error());
注意:希望您了解 mysql_*
函数系列这个令人厌烦的主题。这些正在被弃用并且不安全。我前一段时间写过:http://www.jorble.com/2012/06/you-are-vulnerable-for-sql-injection/
关于PHP SQL 查询错误 - WHERE 子句中的未知数组列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295060/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Combination of List> 我有多个列表,可以是 2 个或 3 个,最多 10 个列表,有多个
我是一名优秀的程序员,十分优秀!