Zum Thema Datenbankwerte vergleichen

Loddar1

Erfahrenes Mitglied
Hallo Leute ich habe das Thema Datenbankwerte vergleichen gelesen und nicht wirklich verstanden, ich möchte auch vergleichen aber zählen wieviel gleiche in einer anderen Tabelle sind, und was ist der EXCEPT-Operator?

In Mysql funktionierte das noch so:
PHP:
$result = mysql_query("SELECT * FROM download_cat ORDER BY id ASC");

    while ($l = mysql_fetch_array($result)) {
   
$linkz = mysql_result(mysql_query("SELECT COUNT(*) FROM downloads WHERE cat='$l[id]'"),0);

        if($linkz==1)$linn=' ';else $linn=' ';
   
  echo $l['cat'].$l['besch'].$linkz.$linn;

}

Mit php 7 habe ich schwierigkeiten, mein Ansatz sieht so aus:
PHP:
$result = "SELECT * FROM download_cat ORDER BY id ASC";

  while ($l = mysqli_fetch_array($result)) {

$linkz= "SELECT * FROM downloads WHERE cat='$l[id]' ORDER BY id ASC";

     $res = mysqli_query($db, $linkz);
   
if (mysqli_num_rows($res) > 0) {

if($linkz==1)$linn=' ';else $linn=' ';
   
  echo $l['cat'].$l['besch'].$linkz.$linn;

        }
    }

Funktioniert aber nicht.

Geht das auf der Basis von Datenbankwerte vergleichen?

Ein kleiner Tipp wäre Super.

Danke im vorraus Loddar1
 
Zuletzt bearbeitet:
Lösung
Der Code ist noch nicht ganz fertig, aber er funktioniert so wie ich es will.
PHP:
$stmt = $db->prepare('SELECT * FROM download_cat ORDER BY id ASC');
     $stmt -> execute();
   $stmt -> store_result();
  $stmt -> bind_result($id, $kat, $besch);
     while ($stmt->fetch()) {  
  if ($resi = mysqli_query($db, "SELECT * FROM download WHERE cat='$id' ORDER BY id ASC")) {
   $linkz = mysqli_num_rows($resi);  
       }
   echo $kat.$besch.$linkz.$linn;
}

Habe den anderen Code schon gelöscht.
Hallo basti1012
Habe es mir nochmal durchgelesen, hatte das weggelassen weil die falsche Ausgabe kam.
Habe im Manual gefunden was ich gesucht habe.
 
Der Code ist noch nicht ganz fertig, aber er funktioniert so wie ich es will.
PHP:
$stmt = $db->prepare('SELECT * FROM download_cat ORDER BY id ASC');
     $stmt -> execute();
   $stmt -> store_result();
  $stmt -> bind_result($id, $kat, $besch);
     while ($stmt->fetch()) {  
  if ($resi = mysqli_query($db, "SELECT * FROM download WHERE cat='$id' ORDER BY id ASC")) {
   $linkz = mysqli_num_rows($resi);  
       }
   echo $kat.$besch.$linkz.$linn;
}

Habe den anderen Code schon gelöscht.
 
Lösung
Zurück