4

在旧的 mysql() 代码中,为了转义字符串,我这样做了:

t.TeacherUsername = '".mysql_real_escape_string($teacherusername)."'

我正在将我的代码更改为 mysqli,但是我想确定并且为了安全起见,要在 mysqli 中转义一个字符串,如下所示:

t.TeacherUsername = '".mysqli_real_escape_string($teacherusername)."'

也连接到mysqli数据库是这样的:

$username="xxx";
$password="xxx";
$database="xxx";

mysqli_connect('localhost',$username,$password);

mysqli_select_db($database) or die( "Unable to select database");

我所做的只是将 mysql 更改为 mysqli,对吗?

更新:

这是现在使用 mysqli 连接到数据库的正确方法吗:

$username="xxx";
$password="xxx";
$database="mobile_app";

$mysqli = new mysqli("localhost", $username, $password, $database);

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
4

1 回答 1

4

您对该功能的使用不正确。

您必须使用返回的 mysqli 链接资源mysqli_connect作为mysqli_real_escape_string.

例子:

$username="xxx";
$password="xxx";
$database="xxx";

$my = mysqli_connect('localhost',$username,$password);

mysqli_select_db($my, $database) or die( "Unable to select database");

$t->TeacherUsername = "'" . mysqli_real_escape_string($my, $teacherusername). "'";
于 2012-06-06T14:40:15.510 回答