php - 通过链接进行 SQL 注入(inject)?

标签 php mysql sql sql-injection

它是关于编辑我的数据库表中的两个字段(note_name 和 note_description),我从链接中获取一些信息,从这样的表单中获取新字段:

链接:

/main_edit.php?edit=note_name2&type=PHP

和:

elseif(isset($_GET['edit'])){
        $note_type=$_GET['type'];
        $old_note_name=$_GET['edit'];
        $new_note_name=mysql_real_escape_string($_POST['new_note_name']);
        $new_note_description=mysql_real_escape_string($_POST['new_note_description']);
        $query="UPDATE functions
                SET note_name='{$new_note_name}', 
                note_description='{$new_note_description}'
                WHERE note_name='{$old_note_name}'
                ";
      $result = mysql_query($query, $connection);}

这里是否可能通过链接进行 SQL 注入(inject),如果是,如何防止它?

谢谢!

最佳答案

您可以使用准备好的语句,例如:

$query = "UPDATE functions SET note_name=?, note_description=? WHERE note_name=?"; 
$statement = $connection->prepare($query);
$statement->bind_param('sss', $new_note_name, $new_note_description, $old_note_name);
$statement->execute();

关于php - 通过链接进行 SQL 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8493417/

相关文章:

php - 我无法将数据插入数据库(codeigniter)

php - 使用字符串长度作为条件选择一条记录。尝试过 LEN()、LENGTH() 和 CHAR_LENGTH

sql - 按位置和顺序对复杂的聚合属性进行 Sequelize

php - 这是哪个中点人物?

PHP session 问题

php - 定义媒体列表的属性并在一行中返回值

mysql - sql查询从每个类别中获取

php - OOP PHP 文件中的 HTML 代码

php - 将维基百科转储导入 MySql

php - apache 停止响应然后崩溃