' UNION ALL SELECT 1,database(),3,4,5,6,7,8,9,10,11,12#
Estoy intentado determinar el nombre de la base de datos entre otras cosas, ya tengo el numero de columnas, pero me aparece esto.
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: controllers/admin.php
Line Number: 46
Backtrace:
File: D:\\\site\\application\controllers\admin.php
Line: 46
Function: _error_handler
File: D:\\VHOSTS\\index.php
Line: 315
Function: require_once
Me ayudan.
Hola, recuerda que el signo gato no es un comentario válido, debes utilizar "--". Prueba cambiando database() por un número cualquiera, si te funciona bien es porque la base de datos no es mysql, talves pueda ser postgres o sql server. Prueba con @@version, eso debería funcionar en mysql y en sql server pero no en postgres.
El error exacto indica que no hay registros, por lo cual falla el foreach. Intenta completar la consulta en ves de romperla, intenta retornar el mismo nombre de columnas de la consulta sql original. Primero vee que tipo de base de datos es y luego intentemos con otras alternativas para ver el nombre de la base de datos.
Saludos.
Grcias bro :3