访问内插字符串中的关联数组值和对象属性需要在名称周围使用波浪形括号(大括号):
$sqlCommentAmount = "SELECT * FROM `info` WHERE `recordID` = {$content['recordID']}";
来源(PHP:字符串):
任何具有字符串表示的标量变量、数组元素或对象属性都可以通过此语法包含在内。只需将表达式写成与它出现在字符串之外的相同方式,然后将其包装在 { 和 } 中。
附带说明一下,您应该真正使用PDO并编写如下准备好的语句:
$sqlCommentAmount = "SELECT * FROM `info` WHERE `recordID` = :recordID;";
然后,您将通过准备语句来绑定参数:
// ... initialize $db
$stmtCommentAmount = $db->prepare($sqlCommentAmount);
$stmtCommentAmount->bindValue(':recordID', $content['recordID'], PDO::PARAM_INT);
$stmtCommentAmount->execute();
使用您的原始代码,如果您完全确定它$content
是一个整数,那么它是相对安全的,但如果它是通过$_GET
(例如)传递的,那么您的代码很容易受到 SQL 注入的攻击。