php PDO只需插入几个查询中的一个

php PDO只需插入几个查询中的一个,php,mysql,pdo,insert,Php,Mysql,Pdo,Insert,我有php PDO查询,我想插入几个服务id,其中只有一个用户id,代码如下: $user_id = 1 ; $db = new PDO('mysql:host='.$servername.'; dbname='.$db_name.';charset=utf8' , $db_username, $db_password); for($r=1;$r <= 10 ;$r++ ) { $extra_services_item = 'e

我有php PDO查询,我想插入几个
服务id
,其中只有一个
用户id
,代码如下:

   $user_id = 1 ;
$db = new PDO('mysql:host='.$servername.'; dbname='.$db_name.';charset=utf8' , $db_username, $db_password);
        for($r=1;$r <= 10 ;$r++ )
        {
            $extra_services_item = 'extra_services_item'.$r ;
            if(isset($_POST[$extra_services_item]))
            {
                $service_id =   test_input( $_POST[$extra_services_item] ) ;    
                $ins_new_pro_q= "insert into `user_services` (user_id,service_id) values ('$user_id','$service_id') "; 
                $ins_new_pro = $db -> prepare($ins_new_pro_q);
                $ins_new_pro -> execute() ;
            }
        }
$user\u id=1;
$db=new-PDO('mysql:host='.$servername.';dbname='.$db_name.';charset=utf8',$db_username,$db_password);
对于($r=1;$r准备($ins\U new\U pro\U q);
$ins_new_pro->execute();
}
}
但是它只插入了第一个
服务id
我该怎么做?

首先,您可能希望将PDO对象的创建移到循环之外,因为您可以使用相同的对象,这样可以减少对MySQL服务器的连接请求


其次,表中的任何字段都是主键吗?如果是,是哪一个?

对于这部分:您可能希望将PDO对象创建移到…之外。|在我的主代码中,它已被删除,但在这里,我错误地将其写入了内部,这是我的数据库:如果您执行
打印“检查:$user\u id,$service\u id
在SQL内容之前的循环中,您有10个吗?哦,除非我读错了,否则如果您将“user_id”字段设置为“Distinct values”.我已经5年多没有使用phpmyadmin了,所以我可能读错了。那是phpmyadmin,对吗?是的,我从db中删除了用户id和服务id,并重新创建了主题,现在它可以工作了!