更新旧的mySQL脚本

时间:2013-09-12 14:30:34

标签: php mysql security deprecated

我有一个旧脚本,只需将两组值插入数据库即可。 我被告知有更新的更好的方法来做到这一点,而不是我在下面使用的,有人能告诉我需要改变什么吗?

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.");
}

4 个答案:

答案 0 :(得分:1)

用mysqli或pdo替换mysqL。

答案 1 :(得分:1)

最安全的方法是:

$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 Improved,它使用预处理语句(不可能进行SQL注入)。

答案 2 :(得分:0)

只需从mysql_*切换到mysqli_*

答案 3 :(得分:0)

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

但是 请不要只添加 并认为您的问题已经解决。使用预先准备好的陈述,请查看此link