Considera este código:
?id=' UNION SELECT 1,2;"; phpinfo();//-- -&Submit=Submit
¿Esto funcionará?
Consulta SQL:
if(isset( $_GET[ 'submit' ] ) ) {
// Get input
$id = $_GET[ 'id' ];
// Check database
$query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";
$result = mysqli_query($connection, $query);
// Get results
while( $row = mysqli_fetch_assoc( $result ) ) {
// Get values
$first = $row["first_name"];
$last = $row["last_name"];
// Feedback for end user
$html .= "<pre>ID: {$id} <br>First name: {$first} & Surname: {$last}</pre>";
}
}
Mi observación:
El mismo fragmento de código funciona bien cuando lo codifico en el archivo .php, es decir,
$query = "SELECT first_name, last_name FROM users WHERE user_id = '' UNION SELECT 1,2;"; phpinfo();//-- -&Submit=Submit';";
PERO cuando lo envío desde un formulario, a través de GET, lo que recibo:
mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given
Avísame si necesito ser más detallado.