Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
To querendo deletar apenas usuários da tabela "members" que não completaram seus dados de perfil/cadastro na tabela "profiles".
Isso deverá acontecer sem que uma "session" seja iniciada. Fiz o código abaixo pegando pelo nome de usuário, mas acaba deletando outros usuários que tem seus dados preenchidos completamente.
$sql_srch = "SELECT usuario FROM profiles";
$sql_srch_result = $mysqli->query($sql_srch);
if($sql_srch_result->num_rows > 0)){
while($row_srch = $sql_srch_result->fetch_assoc()){
$usuario = $row_srch['usuario'];
}
$sql_srch_m = "SELECT username FROM members";
$result_m = $mysqli->query($sql_srch_m);
if($result_m->num_rows > 0)){
while($row_srch_m = $result_m->fetch_assoc()){
$user = $row_srch_m['username'];
}
$sql_del = "DELETE FROM members WHERE username != $usuario ";
$result_del = $mysqli->query($sql_del);
Como poderia alterar essa query pra que delete de "members" somente os usuarios que nao existem em "profiles"?Grato desde já.
Sua lógica está errada, você está "dizendo" para deletar todos os members que possuam o username diferente da variável $usuario.
Visto também que é um problema de SQL e não do PHP em si.
Valeu cara. Acho que dessa forma vai continuar funcionando:
$sql_members = "DELETE FROM members WHERE members.username NOT IN (SELECT usuario FROM profiles) ";
$result_del = $mysqli->query($sql_members);
NOT IN e SUB QUERY
Sua lógica está errada, você está "dizendo" para deletar todos os members que possuam o username diferente da variável $usuario.
Visto também que é um problema de SQL e não do PHP em si.