2 mysql bestanden vergelijken.
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
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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
}
}
?>
$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
}
}
?>
Gewijzigd op 10/12/2021 17:50:29 door Berta Pappens
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
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.
Maar een LEFT JOIN is veel efficiënter.
als ik op lijn 26 == gebruik wordt alles gewist in "bekeken".
Toevoeging op 10/12/2021 21:24:26:
met een query zijn de records ook niet gewist in de tabel.
Hoop dat jullie mij kunnen helpen via mijn code AUB.
Toevoeging op 10/12/2021 21:24:26:
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.
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.
Gewijzigd op 10/12/2021 21:47:37 door - Ariën -
Bedankt voor de moeite , maar ik kom er uit
Heb het gevonden .
Heb het gevonden .
Gewijzigd op 10/12/2021 22:44:21 door Berta Pappens




