【发布时间】:2015-08-05 22:24:44
【问题描述】:
我已经使用 PHP 和 MySQL 将近两年了,我发现 mysql 非常好用,但是它存在安全问题,这就是为什么我要从 mysql 更改为 @987654321 @,我想知道:MySQLi 是否比 mysql 更安全?
关于 MySQLi 查询:我是否应该在旧的 mysql 中添加一个“i”,如下所示(只是一个示例)?
mysql
if (mysql_query('insert into users (username, password, regdate)
values ("'.$username.'", "'.$password.'", "'.time().'")')) {
echo 'Inserted!';
}
else
{
echo "something is wrong";
}
到 MySQLi:
if (mysqli_query('insert into users (username, password, regdate)
values ("'.$username.'", "'.$password.'", "'.time().'")')) {
echo 'Inserted!';
}
else {
echo "something is wrong";
}
我也听说过 PDO:PDO 是否比 MySQLi 更安全?
【问题讨论】:
-
在尝试切换到mysqli之前最好阅读手册php.net/manual/en/mysqli.query.php
-
你提供的mysqli和你的mysql一样不安全。您需要使用准备好的语句来保护您免受 SQL 注入”stackoverflow.com/questions/60174/…
-
您不能只将
i添加到您的mysql函数中。请查看this answer,了解您需要更改的一些示例。