php - 插入带有 Select 和附加参数的 stmt

标签 php mysql sql

是否可以有如下所示的“混合”SQL 插入? 我希望能够从另一张表(需要一个参数)获取一个值,然后再输入 2 个参数。

    $sql = "INSERT INTO tblquestions (userID, questionText, questionAnswer) VALUES (
    Select userID FROM tblusers WHERE userEmail = (?),?,?)";
    $stmt = mysqli_prepare($conn, $sql);
    mysqli_stmt_bind_param($stmt, 'sss', $userEmail, $question, $answer);
    $result = mysqli_stmt_execute($stmt);
    if (!$result) {
        throw new Exception($conn->error);
    }   

最佳答案

没有必要。只需使用 insert 。 。 。选择:

INSERT INTO tblquestions(userID, questionText, questionAnswer)
    Select userID, ?, ?
    FROM tblusers
    WHERE userEmail = (?);

关于php - 插入带有 Select 和附加参数的 stmt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26999487/

相关文章:

php - 在继承的 php 类中使用常量

php - 从文件描述符获取文件指针

计算列上的 MySQL IF 语句

php - Symfony - DoctrineBundle 未在您的应用程序中注册

php - PHP 的 "Virtual Directory Support"是我认为的吗?

python - 如何安全地参数化动态 python mysql 查询?

mysql - SQL中查询多对多关系

sql - 从 PostgreSQL 将包含换行符的数据导出为 CSV

sql - 使用单个 SQL 语句插入多个表,保留自动编号

php - 多个 Inner Join 删除属性