Frage zu Php 5.6 auf php7 zu ändern bitte um Hilfe

  • habe das gemacht die fheler kommen immer noch

    Code
    $con = mysqli_connect("localhost","my_user","my_password","my_db");


    das geht nicht


    Code
    [Wed Nov 28 18:06:44.343107 2018] [fcgid:warn] [pid 4079] [client 178.200.69.235:57807] mod_fcgid: stderr: PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in
    
    
    $a = mysqli_query(mysqli,"SELECT * from ".$GLOBALS['$prefix']."shop_basket WHERE (memberip = '".mysqli_real_escape_string(mysqli,$_SERVER['REMOTE_ADDR'])."' OR basket ='".mysqli_real_escape_string(mysqli,$basket)."') AND status = '1' ORDER BY articlenum DESC");
    $i = 0;
    hier linie 22 while($b = mysqli_fetch_array($a)){
    extract($b);
  • Ist das gewollt oder warum steht dort immernoch mysqli statt die Connection Handler Variable?

    mysqli_query(mysqli,"SELECT * f


    Wenn keine gültige und aktive Datenbank Instanze existiert, gibt der Rückgabewert von mysqli_query NULL aus, das wiederrum führt zur der Fehlermeldung weil im mysqli_fetch_array Parameter NULL übergeben wurde. Im KLartext: Wenn deine Verbindung zur Datenbank besteht, hast du dieses Problem nicht mehr und du hast einen fröhlichen Tag :thumbup:

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • also wenn ich so mache


    $mysqli = mysqli_connect("$dbhost", "$dbuname", "$dbpass", "$dbname") or die(mysqli_connect_error());
    $GLOBALS['sql'] = $mysqli;



    $a = mysqli_query(mysqli, "SELECT * from ".$GLOBALS['$prefix']."shop_basket WHERE (memberip = '".mysqli_real_escape_string(mysqli, $_SERVER['REMOTE_ADDR'])."' OR basket ='".mysqli_real_escape_string(mysqli, $basket)."') AND status = '1' ORDER BY articlenum DESC");
    $i = 0;
    while($b = mysqli_fetch_array($a)){
    extract($b);
    ist der fehler immer noch da

  • @luiluiboy014


    $mysqli = mysqli_connect($dbhost, $dbuname, $dbpass, $dbname) or die(mysqli_connect_error());
    mysqli -> $mysqli


    Bitte lerne erstmal die Basics einer Programmiersprache...

  • hatte ich grade auch versucht ging nicht mach ich es jetzt jetzt geht es igend was stimmt nicht gucke aber weiter danke für den fehler behebn schon mall melde mich wieder wenn ich wieder hilfe brauch



    habe noch ein problem gefunden


    $abfrage = "SELECT COUNT(*) AS cartcheck FROM ".$GLOBALS['$prefix']."shop_basket WHERE (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $cartcheck = "$row->cartcheck";



    $abfrage = "SELECT SUM(posts * price * paytime) AS price_sum1 FROM ".$GLOBALS['$prefix']."shop_basket WHERE (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $price_sum1 = "$row->price_sum1";



    $abfrage = "SELECT SUM(posts * setup) AS price_sum2 FROM ".$GLOBALS['$prefix']."shop_basket WHERE (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $price_sum2 = "$row->price_sum2";



    $abfrage = "SELECT SUM(price * paytime + setup) AS price_sum3 FROM ".$GLOBALS['$prefix']."shop_basket_domains WHERE (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $price_sum3 = "$row->price_sum3";



    line 128 $price_sum = $price_sum1 + $price_sum2 + $price_sum3;



    [Fri Nov 30 22:08:17.361620 2018] [fcgid:warn] [pid 7269] [client 178.200.69.235:49129] mod_fcgid: stderr: PHP Warning: A non-numeric value encountered in on line 129
    was kann ich da machen



    und hier auch


    line 44 $ref = mysqli_fetch_array(mysqli_query($mysqli, "SELECT refmember FROM ".$GLOBALS['$prefix']."member WHERE ip = '".mysqli_real_escape_string($mysqli, $_SERVER['REMOTE_ADDR'])."'"));



    [Fri Nov 30 22:08:17.358655 2018] [fcgid:warn] [pid 7269] [client 178.200.69.235:49129] mod_fcgid: stderr: PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in on line 44


    bitte noch mall um hilfe weiß nicht mehr weiter

  • Beitrag von Jumpy Jr. ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: TE verwirrt mich. ().
  • und was ist mit dem her
    habe noch ein problem gefunden



    $abfrage = "SELECT COUNT(*) AS cartcheck FROM
    ".$GLOBALS['$prefix']."shop_basket WHERE
    (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND
    status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $cartcheck = "$row->cartcheck";




    $abfrage = "SELECT SUM(posts * price * paytime) AS price_sum1 FROM
    ".$GLOBALS['$prefix']."shop_basket WHERE
    (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND
    status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $price_sum1 = "$row->price_sum1";




    $abfrage = "SELECT SUM(posts * setup) AS price_sum2 FROM
    ".$GLOBALS['$prefix']."shop_basket WHERE
    (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND
    status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $price_sum2 = "$row->price_sum2";




    $abfrage = "SELECT SUM(price * paytime + setup) AS price_sum3 FROM
    ".$GLOBALS['$prefix']."shop_basket_domains WHERE
    (memberip='".$_SERVER['REMOTE_ADDR']."' OR basket ='".$basket."') AND
    status = '1'";
    $ergebnis = mysqli_query($mysqli,$abfrage)
    OR die("Error: $abfrage <br>".mysqli_error());
    while($row = mysqli_fetch_object($ergebnis))
    $price_sum3 = "$row->price_sum3";




    line 128 $price_sum = $price_sum1 + $price_sum2 + $price_sum3;




    [Fri Nov 30 22:08:17.361620 2018] [fcgid:warn] [pid 7269] [client
    178.200.69.235:49129] mod_fcgid: stderr: PHP Warning: A non-numeric
    value encountered in on line 129
    was kann ich da machen




    und hier auch



    line 44 $ref = mysqli_fetch_array(mysqli_query($mysqli, "SELECT
    refmember FROM ".$GLOBALS['$prefix']."member WHERE ip =
    '".mysqli_real_escape_string($mysqli, $_SERVER['REMOTE_ADDR'])."'"));




    [Fri Nov 30 22:08:17.358655 2018] [fcgid:warn] [pid 7269] [client
    178.200.69.235:49129] mod_fcgid: stderr: PHP Warning:
    mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean
    given in on line 44



    bitte noch mall um hilfe weiß nicht mehr weiter

  • Beitrag von Jumpy Jr. ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: TE verwirrt mich. ().
  • der hier auch
    line 44 $ref = mysqli_fetch_array(mysqli_query($mysqli, "SELECT
    refmember FROM ".$GLOBALS['$prefix']."member WHERE ip =
    '".mysqli_real_escape_string($mysqli, $_SERVER['REMOTE_ADDR'])."'"));





    [Fri Nov 30 22:08:17.358655 2018] [fcgid:warn] [pid 7269] [client
    178.200.69.235:49129] mod_fcgid: stderr: PHP Warning:
    mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean
    given in on line 44




    so $ergebnis = mysqli_query($GLOBALS["$mysqli"],$abfrage)
    geht es auch nicht kommt fehler


    [Sat Dec 01 08:38:35.827039 2018] [fcgid:warn] [pid 23563] [client 178.200.69.235:59238] mod_fcgid: stderr: PHP Recoverable fatal error: Object of class mysqli could not be converted to string in on line 106,

  • Es ist sehr schwer, wenn man deine Dateistruktur nicht kennt, dir zu helfen.
    Am besten, du gibst deine Kontaktdaten bekannt. Dann kann man dir möglicherweise via Teamviewer helfen.


    Ich muss zugeben, ich hab mir den ganzen Beitrag und die Kommentare angeschaut und ich verstehe nicht,
    was du jetzt gemacht hast und was du nicht gemacht hast. Es kamen sehr gute Lösungsansätze vor, aber mit
    deinen Kommentaren komme ich nicht ganz klar.

  • config sieht so aus
    $mysqli = mysqli_connect($dbhost, $dbuname, $dbpass, $dbname) or die(mysqli_connect_error());
    $GLOBALS['sql'] = $mysqli;


    $GLOBALS['$prefix'] = $dbprefix;
    $GLOBALS['prefix'] = $dbprefix;



    habe noch ein probelm hier


    [Sat Dec 01 12:10:32.916582 2018] [fcgid:warn] [pid 23563] [client 178.200.69.235:42880] mod_fcgid: stderr: PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in on line 5
    [Sat Dec 01 12:10:32.916615 2018] [fcgid:warn] [pid 23563] [client 178.200.69.235:42880] mod_fcgid: stderr: PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in on line 5


    was ist hier falsch
    $options = mysqli_fetch_array(mysqli_query($mysqli,"SELECT * FROM ".$GLOBALS['$prefix']."cms_options WHERE id = '1'"));

  • Zuerst...bitte verwende den BB "Code" vom Forum hier. Dir zu helfen bringt Kopfschmerzen.


    Zu deinen Problemchen....


    $mysqli = mysqli_connect("$dbhost", "$dbuname", "$dbpass", "$dbname") or die(mysqli_connect_error());
    $GLOBALS['sql'] = $mysqli;

    Das ist eine Variable zu viel. Was übergibst du den Connection Handler an $mysqli wenn du die $mysqli an eine andere weitergibst.

    PHP
    $GLOBALS['sql'] = mysqli_connect("$dbhost", "$dbuname", "$dbpass", "$dbname") or die(mysqli_connect_error());


    line 128 $price_sum = $price_sum1 + $price_sum2 + $price_sum3;



    [Fri Nov 30 22:08:17.361620 2018] [fcgid:warn] [pid 7269] [client 178.200.69.235:49129] mod_fcgid: stderr: PHP Warning: A non-numeric value encountered in on line 129

    Ich tippe das eines deiner Querys ein Problem hat, weswegen bei einer $sum Variable keine Nummer ausgegeben wird sondern wahrscheinlich NULL oder FALSE, dann kann man nicht Integer zusammenzählen.
    Tipp: Überprüfe jede deiner 3 Querys einzeln und schaue was die ausgeben.


    line 44 $ref = mysqli_fetch_array(mysqli_query($mysqli, "SELECT refmember FROM ".$GLOBALS['$prefix']."member WHERE ip = '".mysqli_real_escape_string($mysqli, $_SERVER['REMOTE_ADDR'])."'"));



    [Fri Nov 30 22:08:17.358655 2018] [fcgid:warn] [pid 7269] [client 178.200.69.235:49129] mod_fcgid: stderr: PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in on line 44

    Es ist schwer Probleme zu erkennen wenn du alles durcheinander in einen Codes wirfst. Mach es übersichtlicher und spar nicht ann sinnvollen Variablen. Der Fehler sagt aus, das mysql_result wieder boolean ausgibt...also zu 99.9% wird es false sein. Das ist nicht die Ausgabe welche mysqli_fetch_array() erwartet. Entweder ein Problem in deinen SQL oder in deiner Connection^^



    so $ergebnis = mysqli_query($GLOBALS["$mysqli"],$abfrage)
    geht es auch nicht kommt fehler


    [Sat Dec 01 08:38:35.827039 2018] [fcgid:warn] [pid 23563] [client 178.200.69.235:59238] mod_fcgid: stderr: PHP Recoverable fatal error: Object of class mysqli could not be converted to string in on line 106,

    8o8o8o8o8o8o8o8o8o8o8o8o
    Grundlegendes: $GLOBALS ist eine Globale Array-Variable. Was du gemacht hast ist eine aktive Variable des Connection-Handler als Array gepackt. Das ist falsch da Array ein String ist. Sagt übringens auch der Fehler aus.


    Ändern in:

    PHP
    $ergebnis = mysqli_query($GLOBALS["sql"],$abfrage);



    Zu den Variablen in de Arrays habe ich dir schon was geschrieben.


    Wie geht man vor um eine Lösung zu finden?


    1) Fehlermeldung lesen
    2) Fehlermeldung verstehen (mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in on line 5 = Bei der Function mysqli_fetch_array(), dem 1. Parameter [mysqli_query()] wird NULL zurück gegeben. Sprich mysqli_query() funktioniert nicht richtig.
    3) Fehler beheben oder debuggen. Debuggen ist die Ausgabe und funktionsweise jeder möglichen Funktion zu testen.

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • hey leute habe ein kleines problem und zwar hier



    Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /member/widgets/news.php on line 6





    in der mysql ist alles in ordnung


    SELECT * FROM `mySCP_members_news` WHERE 1


    hoffe ihr könnt mir Helfen

  • Warum nutzt du nicht MySQL PDO sondern MySQLi eine total veraltete MySQL Sprache?


    Hier mal ein Beispiel wie ich es mache, und ja, es ist noch lange nicht perfekt, aber besser als MySQLi


  • es ist noch lange nicht perfekt

    Da hast du wohl recht. Alleine der Fakt das du 1x prepared statements verwendest und beim nächsten mal wieder nicht :huh:


    $stmt = $dbh->prepare("SELECT * FROM blacklist WHERE spielername=?");
    $stmt->execute([$_POST["spielername"]]);

    $sql = "INSERT INTO scammer (`spielername`, `citybuild`, `gegenstand`, `beweislink`, `melder`, ip) VALUES ('".htmlspecialchars($_POST["spielername"])."', '".$_POST["citybuild"]."', '".htmlspecialchars($_POST["gegenstand"])."', '".$_POST["beweislink"]."', '".htmlspecialchars($_POST["melder"])."', '$ipaddress');"


    ------


    Du solltest wirklich Error checks einbauen. Deine Query hat wahrscheinlich einen Fehler drin (

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Da hast du wohl recht. Alleine der Fakt das du 1x prepared statements verwendest und beim nächsten mal wieder nicht :huh:

    ------


    Du solltest wirklich Error checks einbauen. Deine Query hat wahrscheinlich einen Fehler drin (

    Keinen einzigen ;) Das Script wurde eine gute Zeit genutzt.