• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Gleicher Code verursacht local probleme - online nicht

Hallo zusammen,

ich habe einige Jahre nicht mehr an meiner Website gebastelt.
Nun wollte ich meine Website local aufrufen.
Und bekommen Fehlermeldungen.

Fatal error: Uncaught Error: Call to undefined function mysql_query() in C:\xampp\htdocs\heisse-fantasien\sidenavi-fantasien.php:35 Stack trace: #0 C:\xampp\htdocs\heisse-fantasien\index.php(477): include() #1 {main} thrown in C:\xampp\htdocs\heisse-fantasien\sidenavi-fantasien.php on line 35

die entsprechende Codezeile in diesem Fall wäre.
Code:
$ergebnis = mysql_query("SELECT * FROM story WHERE (Storyname REGEXP '^[a-c]') AND (Veroeffentlicht = 1) ORDER BY Storyname ASC");

Überraschend für mich ist. Online läuft der Code ohne Fehler. Offline auf xampp / mysql nicht. Ich vermute das beim neuinstallieren vom Apache und MySql irgendwelche einstellungen verloren gegangen sind. Ich hätte sonst keine Idee warum der Code online und offline Unterschiede haben sollte.

Ich hoffe ihr könnt mir das erklären. Denn der Zugriff auf die unterschiedlichen Datenbanken ergibt keinen Fehler. Die Online-Einstellung ist auskommentiert. Und die Offline-Einstellung aktiv.
 
Werbung:
wissen tue ich das auch nicht genau. Kann dir sagen das mysql veraltet ist und unter php 7 nicht mehr funktioniert. weiß ja nicht was du da local benutzt ,aber wenn auf den Sever noch php kleiner als 7 oder so läuft könnte das nee erklärung sein
 
Da ist nichts verloren gegangen, sondern deine Seite ist veraltet und die PHP-Version bei deinem Hoster auch.

Ab PHP 7 gibt es die MySQL-Erweiterung nicht mehr, sondern die MySQLi-Erweiterung.
 
Werbung:
Das verwirrt mich.
Wenn ich auf meinem heimischen Rechner den alten Kram nutze. Und Online das neue verwendet wird.
Dann müsste der Fehler doch gerade Online auftreten. Oder irre ich mich?

Aber gut. Was muss ich machen?
Ich habe nach gesehen und folgendes nutze ich in xampp: control Panel v3.2.2 / Apache 2.4.27 n/ php 7.1.9 / php 5.6.31 / phpMyAdmin 4.7.4
das finde ich in der Verzeichnisstruktur die ich mit der letzten Installation von Xampp installiert habe.
Windows 7

Haben sich die Befehle geändert die den Fehler verursachen? Wenn ja wie?
Hat sich die Konfiguration verändert? Was muss ich einstellen?

vielen Dank für Eure Hilfe.
 
Hallo zusammen,

nun komme ich endlich dazu weiter zumachen.
Deshalb erst einmal danke an basti.

ich taste mich an die Änderungen stück für Stück heran.
Dabei fällt mir auf das zum Beispiel mit diesem Code der Inhalt nicht geladen wird. Wenn diese gesendet wird.

PHP:
   elseif($_GET['Bereich'] == "projekt")

   {
   // Zusammensetzen des Pfades Projekt
   $path = "Bereich-".$_GET['Bereich']."/";
   $filename = $_GET['Inhalt'].".php";
   if(file_exists($path.$filename)) include $path.$filename;
   else include ("/error404.php");
   echo $path.$filename;
   }

Ich habe bisher keinen Hinweis gefunden das sich der Befehl $_GET von PHP5 zu PHP7 verändert hat.
Das angesprochen Verzeichnis das mit include erwartet wird existiert: Bereich-projekt/ueber-projekt.php
 
Werbung:
Ich habe bisher keinen Hinweis gefunden das sich der Befehl $_GET von PHP5 zu PHP7 verändert hat.
  1. $_GET ist kein Befehl, sondern eine Variable
  2. Da gibt es zu PHP 7 auch keine Änderung
Richtig debuggen

  1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
  2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
  3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
  4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
  5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
  6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
  7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
  8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
  9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Zurück
Oben