В старом 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(); }
Ваше использование функции неверно.
Вы ДОЛЖНЫ использовать ресурс ссылок 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). "'";