Ik heb 2 mysql bestanden "bekeken" en "users"
Ik wil het bestand "bekeken" aflopen en kijken of de user nog aanwezig is in bestand "user"
indien niet aanwezig in "user" delete in "bekeken"

Wat is er mis aan mijn code want ik krijg steeds dat alles gevonden is, maar dat is niet juist


<?php

$host = "localhost";  /// use default
$username = "root"; /// write your mysql username
$password = ""; /// write your mysql password
$database = "test"; /// write your mysql database

$con=mysqli_connect($host, $username, $password,$database) or die (mysqli_error());
  $con->set_charset("utf8");



$sql = "SELECT * FROM bekeken";
$result = mysqli_query($con,$sql);

$look = "SELECT * FROM users";
$kijken = mysqli_query($con,$look);


while($rijdb1 = mysqli_fetch_array($result)) //start while loop db1
        {
              $weg = $rijdb1['User'];

            $rijdb2 = mysqli_fetch_array($kijken); // db2
            
                if($rijdb2['username'] = $weg )
                {
                    
                    echo $weg . "   " ;
                    echo $rijdb2['username'] ."  gevonden in database" ."<br>";
                    
                }
                else
{
                    echo $weg . "   " ;
                    echo $rijdb2['username'] ."  niet gevonden in database gewist in bekeken." ."<br>";
                    $del = mysqli_query($con,"delete from bekeken where User = '$weg'"); // delete query
}
                
            }    
?>


Bedoel je niet tabellen?
Je kan gewoon een query aanmaken die de records zoekt welke geen link hebbeb
select
*
from
tabel1 t1
left JOIN
tabel2 t2
on t1.linkkolom = t2.linkkolom
where
t2.linkkolom is null
Lijn 26 is nu een toekening met = i.p.v. een vergelijking met == .

Maar een LEFT JOIN is veel efficiënter.
als ik op lijn 26 == gebruik wordt alles gewist in "bekeken".


[size=xsmall]Toevoeging op 10/12/2021 21:24:26:[/size]

met een query zijn de records ook niet gewist in de tabel.

Hoop dat jullie mij kunnen helpen via mijn code AUB.
Heb je die query van Jan al geprobeerd?
Even droog uitproberen in phpMyAdmin lijkt me makkelijk.

Dan zie je meteen het resultaat als je jouw tabellen met elkaar koppelt. Dan hoef je niet meer met while() loops te klooien. Het probleem is overigens dat je geen while loop in je wile loop gebruikt. Maar dat is zeer inefficiënt en zorgt voor een onnodige opeenstapeling van queries.

Een JOIN is echt het zinvolste in deze oplossing.
Bedankt voor de moeite , maar ik kom er uit

Heb het gevonden .

Reageren