我想通过从另一个表中选择字段来将值插入到另一个表中,并添加date和login_id等信息(这些信息不是来自我选择的表)。
$sql = "INSERT INTO questions_to_answer (login_id, question_id, Question_Category, QuestionType, Question, Meaning) VALUES (?,?,?,?,?,?)";
$stmt= $DB_con->prepare($sql);
$stmt->execute($test_user_id,
"SELECT question_id,
Question_Category,
QuestionType,
Question,
Meaning all_questions
WHERE personality_profile_questions.Question_Category = 1");发布于 2018-07-05 06:08:05
您需要在prepare中包含SELECT,但不能在execute中包含SQL命令。如果在执行中,它将被视为文字字符串,加引号并进行转义。
尝试:
$sql = "INSERT INTO questions_to_answer (login_id, question_id, Question_Category, QuestionType, Question, Meaning)
SELECT ?, question_id, Question_Category, QuestionType, Question, Meaning
WHERE personality_profile_questions.Question_Category = 1";
$stmt= $DB_con->prepare($sql);
$stmt->execute(array($test_user_id));假设$test_user_id = login_id。我不清楚all_questions是什么。
https://stackoverflow.com/questions/51181178
复制相似问题