Quizas no te acepta mysqli porque estas usando solo en esa linea mysqli y en las demas inluyendo talvez la configuracion del acceso a la base no la usas, mysql se la considera obsoleta, es preferible usar mysqli, solo debes modificar las lineas de codigo a mysqli y claro leer algo el manual de cada funcion mysqli que vayas a reemplazar, por ejemplo:
Este seria un ejemplo sencillo de mysql:
Código PHP:
<?php
// Conexión
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql')
OR die(mysql_error());
// Consulta
$consulta = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($usuario),
mysql_real_escape_string($contraseña));
?>
Este es un uso comun de mysqli:
Código PHP:
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
mysqli_query($enlace, "CREATE TEMPORARY TABLE miCiudad LIKE City");
$ciudad = "'s Hertogenbosch";
/* esta consulta fallará debido a que no escapa $ciudad */
if (!mysqli_query($enlace, "INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
printf("Error: %s\n", mysqli_sqlstate($enlace));
}
$ciudad = mysqli_real_escape_string($enlace, $ciudad);
/* esta consulta con $ciudad escapada funcionará */
if (mysqli_query($enlace, "INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
printf("%d fila insertada.\n", mysqli_affected_rows($enlace));
}
mysqli_close($enlace);
?>
Aclaro, solo son ejemplos que encontre en la web, en el manual de referencia especificamente, puedes fijarte en las funciones mysqli y reemplazarlas en tu codigo, tratando de llevar la sintaxis correcta al ejemplo.
Con respecto si afecta o no aquella linea que te postee, pues si afecta porque esos son los datos que usa el usuario para inicar sesion o no? es decir, los que envia el form para buscar en la base, y tienes razon tambien es para poder filtrar cualquier caracter que pueda afectar al comportamiento de tu base de datos, especificamente:
Cita: Lo conocido como inyección de código o inyección SQL no es otra cosa que una técnica mediante la cual un intruso utiliza las vulnerabilidades de las sentencias MySQL para propósitos distintos a los previstos en la aplicación.
Para evitar la posibilidad de ese efecto indeseado (inyección de código) PHP dispone de la función:
mysql_real_escape_string(cadena)
que hace una llamada a la librería MySQL del mismo nombre y para que «escape» los caracteres especiales contenidos en la cadena de forma que sea mucho más seguro su uso a través de mysql_query(). Los caracteres que son «escapados» son los siguientes: \x00, \n, \r, \, ', " y \x1a. Se convertirían en: \\x00, \\n, \\r, \\\, \', \" y \\x1a con lo cual la cadena ' or '34=34 se convertiría en \' or \'34=34 y la claúsula anteriormente comentada se convertiría en WHERE (Nombre='\' or \'34=34') con lo cual ya no se produciría el efecto indeseado y se evitaría el riesgo de uso inadecuado.
Si estas intentando crear un inicio de sesion, esa funcion es lo mas conveniente.
Puedes postear el codigo que tienes ya configurando a mysqli?
Espero aquello te haya despejado alguna duda. Luego de colocar la funcion me gustaria que nos digas exactamente cual es el comportamiento o el error que tienes al probar el inicio de sesion, puedes echarle un ojo a
PHP ERROR LOG en el servidor local que estas utilizando.
Saludos.