Executando duas consultas
Estou tentando fazer o controle de acesso do meu site. Para tanto criei duas tabelas:
Stat (Armazena cada sessao dos usuários
Estrutura da tabela stat
CREATE TABLE `stat` (
`id_stat` int(11) NOT NULL,
`navegador` varchar(85) NOT NULL,
`usuario` int(11) NOT NULL,
`cep` varchar(7) NOT NULL,
`ip_visitante` varchar(15) NOT NULL,
`sessao` varchar(72) NOT NULL,
`pais` varchar(30) NOT NULL,
`estado` varchar(30) NOT NULL,
`cidade` varchar(50) NOT NULL,
`latitude` decimal(11,5) NOT NULL,
`longitude` decimal(11,5) NOT NULL,
`ip_meuservidor` varchar(72) NOT NULL,
`hora_req` time NOT NULL,
`origem` varchar(175) NOT NULL,
`idioma` varchar(50) NOT NULL,
`SERVER_ADMIN` varchar(90) NOT NULL,
`servidor` varchar(90) NOT NULL,
`visitada` longtext CHARACTER SET utf8 NOT NULL,
`registro` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- Indexes for table stat
ALTER TABLE `stat`
ADD PRIMARY KEY (`id_stat`);
-- AUTO_INCREMENT for table stat
ALTER TABLE `stat`
MODIFY `id_stat` int(11) NOT NULL AUTO_INCREMENT;
**sub_stat **(Para armazenar as páginas visitadas e as interações com o cliente:
CREATE TABLE `sub_stat` (
`id_substat` int(11) NOT NULL,
`sessao` varchar(72) NOT NULL,
`hora_req` time NOT NULL,
`origem` varchar(85) NOT NULL,
`visitada` varchar(85) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Indexes for table sub_stat
ALTER TABLE `sub_stat`
ADD PRIMARY KEY (`id_substat`);
-- AUTO_INCREMENT for table sub_stat
ALTER TABLE `sub_stat`
MODIFY `id_substat` int(11) NOT NULL AUTO_INCREMENT;
O desejado portanto, seria que quando o usuário entrasse na página, o script localizasse a sessão do usuário, buscaria a sessão na tabela **stat**, caso não existisse, iria inserir o registro tanto na tabela **stat**, quanto na tabela **sub_stat**. Se existisse a sessão na tabela **stat**, então somente haveria inserção dos registros na tabela **sub_stat**. Eu não estou conseguindo executar a segunda consulta, que vai popular a tabela **sub_stat**.
Meu código está assim:
$sql = "SELECT sessao FROM stat
WHERE sessao = '$sessao'";
$prepara = $PDO->prepare( $sql );
$prepara->execute();
$login_check = $prepara->rowCount();
if($login_check < 1){
$sql = "INSERT INTO `stat`
(`id_stat`,
`navegador`,
`usuario`,
`cep`,
`ip_visitante`,
`sessao`,
`pais`,
`estado`,
`cidade`,
`latitude`,
`longitude`,
`ip_meuservidor`,
`hora_req`,
`origem`,
`idioma`,
`servidor`,
`visitada`,
`registro`)
VALUES
(NULL,
'$navegador',
'$usuario',
'$cep',
'$meuip',
'$sessao',
'$pais',
'$estado',
'$cidade',
'$lat',
'$long',
'$ip',
'$hora_req',
'$origem',
'$idioma',
'$servidor',
'$visitada',
'$registro')";
$compile = $PDO->prepare($sql);
$vai = $compile->execute();
$sql2 = "INSERT INTO `sub_stat`
(`id_substat`,
`sessao`,
`hora_req`,
`origem`,
`visitada`)
VALUES
(NULL,
'$sessao',
'$hora_req',
'$origem',
'$visitada'";
$compile2 = $PDO->prepare($sql2);
$vai = $compile2->execute();
} else {
$sql = "INSERT INTO `sub_stat`
(`id_substat`,
`sessao`,
`hora_req`,
`origem`,
`visitada`)
VALUES
(NULL,
'$sessao',
'$hora_req',
'$origem',
'$visitada'";
$compile = $PDO->prepare($sql);
$vai = $compile->execute();
}Discussão (3)
Carregando comentários...