Hola señores
Estoy trabajando un proyecto importante y quiero evitar "mysql injection", así que estoy probando con mysqli_prepare. La solicitud la hago con AJAX y como tengo preferencia por JSON en lugar de STRING, uso json_encode en la impresión de la respuesta.
Este es mi código:
Código PHP:
$exe = 'connected';
$userid = '234';
$sqli = mysqli_connect('host','user','pass','db');
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ( $exe == 'connected' )
{
if( $rqst = mysqli_prepare($sqli,"SELECT firstname, lastname, email FROM userdata WHERE userid=?") )
{
mysqli_stmt_bind_param($rqst, 's', $userid);
mysqli_stmt_execute($rqst);
mysqli_stmt_bind_result($rqst,$result);
mysqli_stmt_fetch($rqst);
echo(json_encode(
array(
'status' => 'connected_ok',
'result' => $result
)
));
mysqli_stmt_close($rqst);
};
};
mysqli_close($sqli);
Recibo la respuesta del AJAX pero la variable "$result" llega "null". La verdad ya no se qué más hacer. He probado cuanto he leido y sigo estancado. Esta es la respuesta que recibo en la consola:
Código HTML:
Object {status: "connected_ok", result: null}
¿Podrían revisar mi código a ver si me falta algo o tengo algún error? De antemano muchas gracias por su ayuda.