Php 向具有自动增量列的表中添加多行
我正在尝试将数据插入名为team的表中。这张桌子能放4个柱子。选择id(主键)、玩家名称、位置和夹具id 选择id的值为自动增量。我正在将球员姓名和位置添加到表中。然而,问题是,对于从数组、$playnames和$positions中提取的每个值,选择id都会更新。这样地: 这不是我想要的。在更新选择id之前,应在表中存储5个姓名(从而存储所选团队)或对于每一新行,如果进行了新的团队选择,则选择id必须相同 我不知道如何避开这个问题。我考虑在插入数据后再进行一次查询,以覆盖选择id,并使所有行(在本例中)等于117。但我相信这不是最有效的方法 如果有人能给我一些建议,我将不胜感激。 代码如下:Php 向具有自动增量列的表中添加多行,php,mysql,sql,Php,Mysql,Sql,我正在尝试将数据插入名为team的表中。这张桌子能放4个柱子。选择id(主键)、玩家名称、位置和夹具id 选择id的值为自动增量。我正在将球员姓名和位置添加到表中。然而,问题是,对于从数组、$playnames和$positions中提取的每个值,选择id都会更新。这样地: 这不是我想要的。在更新选择id之前,应在表中存储5个姓名(从而存储所选团队)或对于每一新行,如果进行了新的团队选择,则选择id必须相同 我不知道如何避开这个问题。我考虑在插入数据后再进行一次查询,以覆盖选择id,并使所有行
if ( isset($_POST['submit']) ) {
$player_ids = array_map('intval', $_REQUEST['players']);
var_dump($player_ids);
$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'];
}
for ($i=0; sizeof($selected) > $i; $i++){
$sql = mysql_query("INSERT INTO `team`(`selection_id`,`player_position`,`player_name`) VALUES ('selection_id\"\"','$position[$i]','$selected[$i]')")
or die(mysql_error());
echo $selected[$i];
echo $position[$i];
echo'<br>';
}
var_dump($selected);
}
if(isset($\u POST['submit'])){
$player_id=array_map('intval',$u请求['players']);
变量转储($player\u id);
$query='选择'name','position'
来自“玩家信息”
其中,`player_id`IN('.introde(',',$player_id.));
$return\u names=mysql\u query($query)或die(mysql\u error());
while($row=mysql\u fetch\u assoc($return\u names)){
$selected[]=$row['name'];
$position[]=$row['position'];
}
对于($i=0;sizeof($selected)>$i;$i++){
$sql=mysql\u查询(“插入到`team`(`selection\u id`、`player\u position`、`player\u name`)值(`selection\u id\“\”、'$position[$i]'、'$selected[$i]'))
或者死(mysql_error());
echo$已选择[$i];
回声$position[$i];
回声“
”;
}
var_dump($已选择);
}
这不是一个数据库,而是一个表。您应该规范化数据库。谢谢您的建设性意见。我问这个问题时打错了