Was ist Falsch mit meinem PHP code

Luigirazzo

Grünschnabel
Ich kriege diese 2 errors :
Warning: mysqli_query() expects parameter 1 to be mysqli, integer given in /storage/ssd2/431/18637431/public_html/Sale.php on line 33

Warning
: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /storage/ssd2/431/18637431/public_html/Sale.php on line 34
Ich habs gegooglet weiss aber echt nicht was der Fehler is
Code :

PHP:
<?php
$LOL = true;
$data = "<script>document.write(x) </script>";
echo ("Das sind die Rabattcodes vom Benutzer: ");
echo ($data);
       if($LOL == true){

       
          $con =   require("mysql.php");
          if(!$con)
          {
            echo("Fehler")  ;
          }
          else{
              $suchet = mysqli_query($con ,"SELECT `ACC`, `CODE`, `GIFTS` FROM `DATA` WHERE ACC = $data");
              $su = mysqli_fetch_array($suchet);
              echo($su["CODE"]);

          }
 }
 

?>
Vielen Dank für die Hilfe
 
Zuletzt bearbeitet von einem Moderator:

Yaslaw

alter Rempler
Moderator
Gib mal $con mittels var_dump() aus um zu sehen, eass das wirklich ist.

Des weiteren ist $data ein String. Dein SQL wird sicher nicht funktionieren, wenn $data nicht als String behandelt wird.
Siehe auch [PHP][MySQLi] Debug Queries [Yaslaw.Info]
PHP:
$sql = "SELECT `ACC`, `CODE`, `GIFTS` FROM `DATA` WHERE ACC = '$data'";
echo $sql;
 

m.scatello

Erfahrenes Mitglied
PHP:
$con =   require("mysql.php");
Vielleicht einfach mal in der Doku nachsehen, was require als Wert zurück gibt, ist auf jeden Fall kein MySQL-Object.
 

Zvoni

Erfahrenes Mitglied
PHP:
$con =   require("mysql.php");
Vielleicht einfach mal in der Doku nachsehen, was require als Wert zurück gibt, ist auf jeden Fall kein MySQL-Object.
Die Frage ist nicht, ob require ein MySQL-objekt zurückgibt, sonder, was gibt "mysql.php" zurück in dem Fall
Siehe auch: PHP: require - Manual
If your included file returns a value, you can get it as a result from require(), i.e.

foo.php:
<?php
return "foo";
?>

$bar = require("foo.php");
echo $bar; // equals to "foo"
 

Zvoni

Erfahrenes Mitglied
Hallo Luigirazzo
was ist das?
$data = "<script>document.write(x) </script>";
das kommt doch nicht aus der DB oder?
Jepp, hatte ich auch gesehen, aber sein Skript motzt ja schon über die Zeile 15, dass sein erster Parameter ($con) Murks ist (siehe auch Yaslaws und scatellos Antwort).
Unabhängig davon hast du Recht: sogar wenn $con gültig wäre, käme da nur Murks aus dem Query zurück.
"ACC" sieht mir doch verdächtig nach "Account" aus (zumal er ja auch "Benutzer" erwähnt)
 

Yaslaw

alter Rempler
Moderator
Deshalb mein Link zum SQL Testen. Dann sieht man selber was für ein Blödsin in $data steht.