使用PHP和MYSQL这些准备好的语句有什么区别吗?

时间:2011-04-14 13:03:22

标签: php mysql

$q = $dbc -> prepare ("INSERT INTO accounts (type, username, gender, email, password) VALUES (?, ?, ?, ?, ?)");
$q -> bind_param('sssss', ($_POST['type']), ($_POST['username']), ($_POST['gender']), ($_POST['email']), ($_POST['password']));

$q -> execute();

与;相比;

$type = $_POST['type'];
$username = $_POST['username'];
$gender = $_POST['gender'];
$email = $_POST['email'];
$password = $_POST['password'];

$q = $dbc -> prepare ("INSERT INTO accounts (type, username, gender, email, password) VALUES (?, ?, ?, ?, ?)");
$q -> bind_param('sssss', $type, $username, $gender, $email, $password);

$q -> execute();

这样做有什么好处吗?

感谢。

3 个答案:

答案 0 :(得分:4)

它们都是一样的,哪个更好,这取决于你发现哪个更容易阅读和维护。

答案 1 :(得分:3)

不,这些技术都是相同的。

答案 2 :(得分:2)

这两个语句之间的唯一区别(据我所知)是你在第二个例子中提前抓取POST变量。除非您以后需要这些变量,否则您无需任何操作,或者只是希望您的代码更有意义。