这个查询对sql注入安全吗? [请删除此内容]

时间:2016-08-04 19:44:29

标签: php mysql mysqli

这个查询对sql注入是否安全?

每个函数都必须写$ connection-> close();?

function insert_mytable() {
    global $connection; 

    $text = 'bla bla';
    $hashtag = 'bla bla';

    // Prepare the statement
    $stmt = $connection->prepare("INSERT INTO my_table (text, hashtag) VALUES (?, ?)");
    $stmt->bind_param('ss', $text, $hashtag);

    // Execute the statement
    $stmt->execute();

    // Close the statement
    $stmt->close();
    $connection->close();
}

1 个答案:

答案 0 :(得分:2)

回答您的第一个问题:是*

*由于您使用的是PDO预处理语句,因此在大多数情况下,您的代码可以免受SQL注入攻击 。可能的情况是,出于您的目的,上面的代码是您对SQL注入所需的所有防御;但是,如果你想知道在什么情况下准备好的陈述是不够的,你应该看看this question的第一个答案,因为Joel Coehoorn对它的解释远胜于我。

至于你的第二个问题,正如ac.freelancer和Charlotte Dunois已经指出的那样,连接不需要关闭,特别是如果你打算再次使用这个连接的话。