使用 SQL SERVER 准备好的语句
Prepared statements with SQL SERVER
我正在为我的数据库使用 Microsoft SQL 服务器。我正在关注使用 MySQL 的在线教程,因此使用了以下语句:
mysqli_stmt_bind_param($stmt, "sss", $username, $email, $hashedPassword);
但是sqlsrv不提供这个功能。有没有其他方法可以用 sqlsrv 做到这一点?
提前致谢!
全部代码:
$sql = "INSERT INTO tblUsers (Username, EmailUser, PasswordUser) VALUES (?, ?, ?)";
$stmt = sqlsrv_stmt_init($conn);
if(!sqlsrv_stmt_prepare($stmt, $sql)){
header("Location: ../signup.php?error=sqlerror");
exit();
}
else{
$hashedPassword = password_hash($password, PASSWORD_DEFAULT)
sqlsrv_stmt_bind_param($stmt, "sss", $username, $email, $hashedPassword);
sqlsrv_stmt_execute($stmt);
header("Location: ../signup.php?signup=succes");
exit();
}
您不应该同时使用 mysqli 和 sqlsrv。立即开始使用 PDO。
如果您想使用 sqlsrv_*
函数执行此操作,手册建议如下:
$con = sqlsrv_connect();
$sql = "INSERT INTO tblUsers (Username, EmailUser, PasswordUser) VALUES (?, ?, ?)";
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
$stmt = sqlsrv_prepare($con, $sql, [$username, $email, $hashedPassword]);
sqlsrv_execute($stmt);
header("Location: ../signup.php?signup=succes");
exit();
我强烈不建议像这样使用这些功能。如果你不能使用 PDO,那么你应该写一个数据库抽象 class 来避免自己使用这些函数。
我正在为我的数据库使用 Microsoft SQL 服务器。我正在关注使用 MySQL 的在线教程,因此使用了以下语句:
mysqli_stmt_bind_param($stmt, "sss", $username, $email, $hashedPassword);
但是sqlsrv不提供这个功能。有没有其他方法可以用 sqlsrv 做到这一点?
提前致谢!
全部代码:
$sql = "INSERT INTO tblUsers (Username, EmailUser, PasswordUser) VALUES (?, ?, ?)";
$stmt = sqlsrv_stmt_init($conn);
if(!sqlsrv_stmt_prepare($stmt, $sql)){
header("Location: ../signup.php?error=sqlerror");
exit();
}
else{
$hashedPassword = password_hash($password, PASSWORD_DEFAULT)
sqlsrv_stmt_bind_param($stmt, "sss", $username, $email, $hashedPassword);
sqlsrv_stmt_execute($stmt);
header("Location: ../signup.php?signup=succes");
exit();
}
您不应该同时使用 mysqli 和 sqlsrv。立即开始使用 PDO。
如果您想使用 sqlsrv_*
函数执行此操作,手册建议如下:
$con = sqlsrv_connect();
$sql = "INSERT INTO tblUsers (Username, EmailUser, PasswordUser) VALUES (?, ?, ?)";
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
$stmt = sqlsrv_prepare($con, $sql, [$username, $email, $hashedPassword]);
sqlsrv_execute($stmt);
header("Location: ../signup.php?signup=succes");
exit();
我强烈不建议像这样使用这些功能。如果你不能使用 PDO,那么你应该写一个数据库抽象 class 来避免自己使用这些函数。