How to view the SQL executed by php when using the "prepare ()" and "execute ()" functions?

0

Hello, I need to give an echo or print in the SQL executed from the function below. The goal is to visualize how SQL will look when the values of "?" replaced. Does anyone know how I can do this?

public function insert (EmployeeTO $ employeeTO) {

    $sql = "INSERT INTO empregado VALUES(NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())";

    $connection = $this->dataSourceMySQL ->openConnection();

    try {

        $statement = $connection ->prepare($sql);


        $dia = $empregadoTO ->getDia();
        $mes = $empregadoTO ->getMes();
        $ano = $empregadoTO ->getAno();

        $dataNascimento = $ano . '-' . $mes . '-' . $dia;                        

        $statement ->bindValue(1, $empregadoTO ->getNome(), PDO::PARAM_STR);
        $statement ->bindValue(2, $empregadoTO ->getSobrenome(), PDO::PARAM_STR);
        $statement ->bindValue(3, $empregadoTO ->getCpf(), PDO::PARAM_STR);
        $statement ->bindValue(4, $dataNascimento, PDO::PARAM_STR);
        $statement ->bindValue(5, $empregadoTO ->getIdEstadoCivil(), PDO::PARAM_INT);
        $statement ->bindValue(6, $empregadoTO ->getIdEscolaridade(), PDO::PARAM_INT);            
        $statement ->bindValue(7, $empregadoTO ->getSexo(), PDO::PARAM_STR);
        $statement ->bindValue(8, $empregadoTO ->getFoto(), PDO::PARAM_STR);
        $statement ->bindValue(9, $empregadoTO ->getEmail(), PDO::PARAM_STR);
        $statement ->bindValue(10, $empregadoTO ->getSenha(), PDO::PARAM_STR);
        $statement ->bindValue(11, $empregadoTO ->getCep(), PDO::PARAM_STR);
        $statement ->bindValue(12, $empregadoTO ->getEstado(), PDO::PARAM_STR);
        $statement ->bindValue(13, $empregadoTO ->getCidade(), PDO::PARAM_STR);
        $statement ->bindValue(14, $empregadoTO ->getBairro(), PDO::PARAM_STR);
        $statement ->bindValue(15, $empregadoTO ->getTelefone(), PDO::PARAM_STR);
        $statement ->bindValue(16, $empregadoTO ->getCelular(), PDO::PARAM_STR);
        $statement ->bindValue(17, $empregadoTO ->getNewsletterNoticia(), PDO::PARAM_INT);
        $statement ->bindValue(18, $empregadoTO ->getNewsletterVaga(), PDO::PARAM_INT);

        $statement ->execute();            
    }
    catch(PDOException $erro) {

        die($erro ->getTraceAsString());
    }
    
asked by anonymous 04.01.2015 / 01:43

1 answer

1

Try using debugDumpParams (); it prints what you want and even more stuff. Help in debugging SQL.

    
04.01.2015 / 01:49