Php Prepared语句select inside values()这样做对吗?
当您必须在值(通常为值(?)内运行select语句时,这种方法是否正确Php Prepared语句select inside values()这样做对吗?,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,当您必须在值(通常为值(?)内运行select语句时,这种方法是否正确 我会直接使用插入到。。。在此处选择,不带值子句: INSERT INTO perm (user_id) SELECT id FROM users WHERE username = ?; 更新的PHP代码: $sql = "INSERT INTO perm (user_id) SELECT id FROM users WHERE username = ?"; if ($stmt = $conn->p
我会直接使用
插入到。。。在此处选择
,不带值
子句:
INSERT INTO perm (user_id)
SELECT id FROM users WHERE username = ?;
更新的PHP代码:
$sql = "INSERT INTO perm (user_id) SELECT id FROM users WHERE username = ?";
if ($stmt = $conn->prepare(sql)) {
$stmt->bind_param("s", $username);
$stmt->execute();
}
完全正确。不过,您不需要使用
if
条件。这个问题听起来好像您收到了一个错误。你能补充一下吗?可能只要从username=?
应该足够的用户中选择id即可。
$sql = "INSERT INTO perm (user_id) SELECT id FROM users WHERE username = ?";
if ($stmt = $conn->prepare(sql)) {
$stmt->bind_param("s", $username);
$stmt->execute();
}