更新旧的 mySQL 脚本


Updating old mySQL script

我有一个旧脚本,它只是将两组值插入到数据库中。有人告诉我,有比我在下面使用的更好的方法,谁能告诉我需要改变什么?

mysql_connect("server","user","password");
mysql_select_db("database");
$datainsert = "INSERT INTO form1
        (name, message)
        VALUES
        ('$name',
        '$message_body')";
$result = mysql_query($datainsert);
if($result){
    header('Location: success.html');
} else{
    echo("<br>There was a problem.");
}

将 mysqL 替换为 mysqli 或 pdo。

最安全的方法是:

$mysqli = new mysqli("server","user","password", "database");
$stmt = $mysqli->prepare("INSERT INTO form1 (name, message) VALUES (?, ?)");
$stmt->bind_param('ss', $name, $message_body);
$stmt -> execute();
if($stmt) {
    header('Location: success.html');
} else {
    echo("<br>There was a problem.");
}

它使用MySQL Inproved,并且使用预处理语句(因此SQL注入是不可能的)。

只需从mysql_*切换到mysqli_*

最接近现有代码的是使用 mysqli_*

请不要只是添加并认为您的问题已解决。使用预准备语句,请查看此链接