我正在尝试使用已从之前的 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/