Php 使用插入值选择的正确方法

Php 使用插入值选择的正确方法,php,Php,由于Insert into value和select不起作用,我的查询有问题,这是正确的使用方法吗?谢谢 这是我的查询行 $sql = "INSERT INTO `stud_class` (`stud_fullname`, `stud_uid`,`stud_code`, `stud_subject`, `stud_cname`,`stat`) VALUES ('$stud_full','$stud_uid',(SELECT subject_code,subsubject,class_Name

由于Insert into value和select不起作用,我的查询有问题,这是正确的使用方法吗?谢谢

这是我的查询行

$sql = "INSERT INTO `stud_class` (`stud_fullname`, `stud_uid`,`stud_code`, `stud_subject`, `stud_cname`,`stat`)  VALUES ('$stud_full','$stud_uid',(SELECT subject_code,subsubject,class_Name FROM subject WHERE subject_code = '$subcode'),1)";

用作表达式的子查询只允许返回一个值,而不允许返回多个列

您需要使用
SELECT
查询作为所有值的源,而不是
values
列表中的表达式

$sql = "INSERT INTO `stud_class` (`stud_fullname`, `stud_uid`,`stud_code`, `stud_subject`, `stud_cname`,`stat`)  
    SELECT '$stud_full','$stud_uid', subject_code,subsubject,class_Name, 1
    FROM subject WHERE subject_code = '$subcode')";
您还应该使用准备好的语句,而不是将变量替换到SQL字符串中。看