使用来自另一个查询的关联的 PHP 查询

标签 php mysql mysqli

我正在尝试使用已从之前的 SELECT 查询返回的关联插入到 PHP 中的 SQL 表中。但编译器给了我一个语法错误“意外的$EOF”。

本质上,这就是我正在做的事情:

$query2 = "SELECT * FROM users WHERE user_name='$user.username'";
    $result2 = mysqli_query($db, $query2);
    $new_user = mysqli_fetch_assoc($result2);

    $query3 = "INSERT INTO new_table (new_user_id) VALUES('$new_user['user_id']');";
    mysqli_query($db, $query3);

查询 3 是给我错误的那个。我之前已经通过 fetch 关联引用过这样的变量。我对 PHP 非常陌生,但是通过关联获取不是只是创建一个字典吗?有什么想法吗?

谢谢

最佳答案

看起来问题出在下面代码中的单引号上:

VALUES('$new_user['user_id']')

如果您要像这样在查询之外设置变量,它应该可以工作:

$user_id = $new_user['user_id'];
$query3 = "INSERT INTO new_table (new_user_id) VALUES('$user_id');";

我还建议您参数化您的查询。

关于使用来自另一个查询的关联的 PHP 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51119949/

相关文章:

mysql - 您能否从具有 MIN 或 MAX 值的行中获取不同的列?

php - mySQL Object of class mysqli_result could not be converted to string问题

php - 空查询附加到主 URL .htaccess 问题

php - 比较以不同编码存储的相同值

php - 将 foreach() 与多维数组一起使用

php - 我的mysqli插入查询无法正常工作

php - 选择州后更新城市列表

php - LOAD DATA INFILE 不适用于字段数据中包含编码 JSON 值的 CSV

PHP 如何结合使用插入查询和删除查询

mysql - #1242 - 子查询返回超过 1 行 - mysql