Zum Thema Datenbankwerte vergleichen

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

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:
Mit PHP 7 wird dir der Quellcode doch um die Ohren gehauen, denn die mysql_*-Funktionen gibt es nicht mehr. Und solange du nur einen String mit einem Wert belegst, wird noch lange keine Anfrage an die DB gesendet.
 
PHP:
$result = mysql_query("SELECT * FROM download_cat ORDER BY id ASC");

PHP:
$result = "SELECT * FROM download_cat ORDER BY id ASC";

Da fällt dir nichts auf?
 
Vieleicht hilft der Tipp:

Im ersten Code nutzt du 2 x mal
mysql_query weil du das aus 2 tabellen holst

Beim 2 Code nutzt du
mysqli_query nur 1 mal und die andere Tabelle darf nur zuckucken weil sie nur ein String beisteuert

Macht es jetzt klick ?
 
Lies doch Bitte alle Zeilen.
Lerne du doch bitte die Grundlagen!
PHP:
$result = "SELECT * FROM download_cat ORDER BY id ASC";

  while ($l = mysql_fetch_array($result))
Das ist Quatsch, du übergibst mysql_fetch_array einen String!!! Und mysql_fetch_array funktioniert unter PHP 7 nicht mehr!!!

Tipp: Lesen und lernen
https://www.php.net/manual/de/function.mysqli-connecthttps://www.php.net/manual/de/mysqli.query.phphttps://www.php.net/manual/de/mysqli-result.fetch-assoc.php
 
Halte dich doch Bitte raus, Du versuchst php 5 das steht oben
darunter steht php7
und ich habe keinen Ansatz wie 2 werte aus 2 Tabellen verglichen werden.
Wenn ich das habe, ändere ich das zu prepare statemens o. o.
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück