gpt4 book ai didi

PHP SQL 查询错误 - WHERE 子句中的未知数组列

转载 作者:行者123 更新时间:2023-11-29 01:59:16 25 4
gpt4 key购买 nike

我的页面使用下拉菜单显示某个运动队的球员姓名。教练可以登录选择他的球队并选择他的球队将要对阵的对手。当用户选择球队和对手时,他点击提交并触发 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>';


}

enter image description here

enter image description here

最佳答案

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com