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

  • Hey leute ich möchte ja mit der zukunft mit kommen und frage heuch um hilfe was muss ich ändern um von php 5.6 das panel auf php 7 zu ändern


    hier ein beispiel voon php 5.6
    require_once('functions/secure.php');



    $checkmysql = @mysql_connect("$dbhost", "$dbuname", "$dbpass") or die(mysql_error());
    mysql_select_db("$dbname") or die(mysql_error());



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



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



    require_once('shop/shop.php');


    was muss ich tuhen um auf php 7 zu ändern bitte um Hilfe MfG

    • Offizieller Beitrag

    Probier doch erstmal auf wie dein Code auf PHP7 läuft und dann schaust du ggf. welche Fehler auftauchen


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • habe ich das hier


    [Sun Nov 25 10:57:31.241887 2018] [fcgid:warn] [pid 17659] [client 178.200.69.235:55425] mod_fcgid: stderr: PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in
    [Sun Nov 25 10:57:31.241928 2018] [fcgid:warn] [pid 17659] [client 178.200.69.235:55425] mod_fcgid: stderr: Stack trace:
    [Sun Nov 25 10:57:31.241934 2018] [fcgid:warn] [pid 17659] [client 178.200.69.235:55425] mod_fcgid: stderr: #0 {main}
    [Sun Nov 25 10:57:31.241938 2018] [fcgid:warn] [pid 17659] [client 178.200.69.235:55425] mod_fcgid: stderr: thrown in


    das wäre das hier
    $mysql_connect = @mysql_connect("$dbhost", "$dbuname", "$dbpass") or die(mysql_error());
    mysql_select_db("$dbname") or die(mysql_error());


    und im index ist das der hier
    $checkmysql = @mysql_connect("$dbhost", "$dbuname", "$dbpass") or die(mysql_error());
    mysql_select_db("$dbname") or die(mysql_error());

  • Umschreiben auf PDO oder MySQLi.


    mysql_connect() wird bei php7 schon länger nicht mehr genommen bzw erkannt

  • so habe es so gemacht
    // mysqli
    $mysqli = new mysqli("$dbhost", "$dbuname", "$dbpass", "$dbname");
    $result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
    $row = $result->fetch_assoc();
    echo htmlentities($row['_message']);
    das wird auch angezeigt


    Hello, dear MySQL user!


    aber jetzt kommt der neste fehler


    [Sun Nov 25 12:21:47.023928 2018] [fcgid:warn] [pid 17661] [client 178.200.69.235:57222] mod_fcgid: stderr: PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in
    [Sun Nov 25 12:21:47.023965 2018] [fcgid:warn] [pid 17661] [client 178.200.69.235:57222] mod_fcgid: stderr: PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in






    $options = mysqli_fetch_array(mysqli_query("SELECT * FROM ".$GLOBALS['$prefix']."cms_options WHERE id = '1'"));

  • kann mir einer helfen weiß nicht was ich ändern soll an den parameter



    [Sun Nov 25 15:57:52.314408 2018] [fcgid:warn] [pid 17791] [client 178.200.69.235:32951] mod_fcgid: stderr: PHP Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in


    kann mir einer bitte helfen


    $ref = mysqli_fetch_array(mysqli_query($mysqli, "SELECT refmember FROM ".$GLOBALS['$prefix']."member WHERE ip = '".mysqli_real_escape_string($mysqli, $_SERVER['REMOTE_ADDR'])."'"));
    if(!isset($ref['refmember']) OR $ref['refmember'] == ''){ $ref['refmember'] = '0'; }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich kenne mich mit MySQLi nicht aus, da ich mich überwiegend mit PDO beschäftige, aber mysqli_query reagiert wie mysql_quey, sprich: beim Ausführen der SQL-Anweisung gibt er boolean (Also false im Fehlerfall) zurück. Überprüfe ob dein SQL-Befehl funktioniert bzw. baue eine If-Anweisung rein ob der SQL-Befehl erfolgreich ausgeführt wurde. Und übersichtshalber spare nicht an eine Variable um msqli_query nicht direkt in mysqli_fetch_array auszuführen.

    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.

  • brinkt mir nix weil ich nicht weiß was ich hier falsch mache


  • so jetzt habe ich ein kleines probelm mit php 7.1 ich bekomme den fehler


    [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);


    kann mir da einer helfen

  • Canna ein Fehöer hätte ich auch gern 8o


    Zu deinem Fehler @luiluiboy014: Der 1. Parameter fordert den Connection-Handler. Sprich die Variable womit die Mysql-Verbindung geöffnet ist. Du hast nur mysqli dort stehen.


    Und falls du dich fragst was der Connection-Handler ist

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


    An deiner Stelle verwende PDO. Dort musst auch keine Strings escapen und kommst evtl. besser mit klar.

    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.

  • Wie palwal schon sagte! Verwende lieber PDO.
    Ich persönlich kenne mich mit MySQLi nicht so gut aus.

  • wie muss ich jetzt in jede Datei eine mysql Verbindung machen weil die Datein alle verknüpft sind das ist ja kacke

    Das musst du immer. Zugegeben, es ist extrem nervig und unsicher immer die Datenbank Verbindungen in jeder Datei zu starten. Aus diesem Grund habe ich und viele andere Leute eine Datenbank Klasse geschrieben das sowas erspart.


    Schau mal ob du mit meiner Datenbank-Klasse klar kommst:
    file-upload.net/download-12869336/db_von_palwal.rar.html

    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.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen