您的实际问题,将数组的索引值插入字符串可以通过两种方式解决(如果您计算 heredoc、sprintf 和诸如此类的更多):
使用花括号:
"INSERT INTO jliu VALUE(null, {$_GET['title']}, {$_GET['fname']}, {$_GET['lname']}, {$_GET['description']})"
使用串联:
"INSERT INTO jliu VALUE(null, " . $_GET['title'] . ", " . $_GET['fname'] . ", " . $_GET['lname'] . ", " . $_GET['description'] . ")"
但是,最重要的问题是您不应该这样做。使用您的代码,您很容易受到 SQL 注入漏洞的影响。
使用准备好的语句,并在其中插入您的值。这会创建一个更安全(并且性能略高)的查询,因为您只是绑定values,而不是更改实际查询本身。代码示例:
if ($stmt = $mysqli->prepare("INSERT INTO jliu VALUES (NULL, ?, ?, ?, ?)")) {
$stmt->bind_param("ssss", $_GET['title'], $_GET['fname'], $_GET['lname'], $_GET['description']);
$stmt->execute();
}