php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem bei Portierung von XAMPP nach Ubuntu/Apache/PHP/mySQL


 
fox_bw
05-07-2017, 00:58 
 
Guten Abend zusammen,

ich habe auf einem lokalen System (XAMPP mit PHP 5.6) etwas entwickelt. Nun wollte ich die ganze Sache auf einen Server portieren, der unter Ubuntu 16.04 mit Apache und PHP7 läuft.
Unter meiner Entwicklungsumgebung funktioniert das Skript ohne Probleme; unter der Ubuntu-Umgbeung nicht. Im folgenden Auschnitt aus meinem Skript muss der Fehler liegen, da "Nummer" in beiden Skripten ausgegeben wird, " Zweite Nummer: " aber nur in meiner Entwicklungsumgebung:



$Nummer = $_GET['ID'];
echo " Nummer: ".$Nummer;

/*Verbindung herstellen*/
require($_SERVER['DOCUMENT_ROOT']."/Projektverwaltung/includes/server.inc");
$Verbindung1 = mysqli_connect($host,$user,$pass,$db)
or die ("Fehler Verbindung: ".mysqli_errno($Verbindung1).", ".mysqli_error($Verbindung1));

mysqli_query($Verbindung1,"SET NAMES 'utf8'");

$result_Prj = mysqli_query($Verbindung1,"SELECT id,Prj_nr,BO_Beschreibung,BH_name,BO_Strasse,BO_HNR,BO_Land,BO_PLZ,BO_Ort,BWKategorie,SB_ID,SB_Name, lat,lng,Meereshoehe,Treffer,ch_geo,ch_fire,Auto_geo,sichtbar_ALLE
FROM mark_ort_geo
WHERE (id = $Nummer)
")
or die ("Fehler mark_ort_geo: ".mysqli_errno($Verbindung1).", ".mysqli_error($Verbindung1));

while ($Prj = mysqli_fetch_array($result_Prj, MYSQL_BOTH)) {
echo " Zweite Nummer: ".$Prj["id"];
Ich sitze nun schon seit langer Zeit vor dem Code und finde den Fehler nicht. Kann mir jemand weiterhelfen?

fox_bw

 
Quetschi
06-07-2017, 14:38 
 
Fehlermeldung(en)? -> Ist dein Error-Reporting eingeschaltet? (http://www.php-resource.de/forum/php-developer-forum/announcements.html#errorReporting)

 
Manione
06-07-2017, 15:51 
 
Also ohne Fehlermeldung wird das die Suche nach der Nadel im Heuhaufen :(

 
fox_bw
06-07-2017, 23:12 
 
Guten Abend,

sorry das habe ich vergessen:

error_reporting(E_ALL);
Das ist was mich so verblüfft. Es werden keine Fehler beim Ausführen der Datei angezeigt.

fox_bw

 
Quetschi
06-07-2017, 23:21 
 
Werden Fehlermeldungen ausgegeben oder im error_log gespeichert?

Wenn tatsächlich keine Fehlermeldungen von PHP ausgegeben werden, dann musst du halt Testausgaben machen um z.B. zu sehen was mysqli_query überhaupt zurückliefert usw...

 
fox_bw
06-07-2017, 23:23 
 
Guten Abend,

ich habe soeben den Fehler gefunden.
Bei mir im Quellcode stand:


while ($Prj = mysqli_fetch_array($result_Prj, MYSQL_BOTH)) {
Das muss aber so heißen:


while ($Prj = mysqli_fetch_array($result_Prj, MYSQLI_BOTH)) {
Ein kleiner aber entscheidender Unterschied.
Danke für Eure Rückmeldungen.

fox_bw

 
bandit600
07-07-2017, 14:17 
 
Auch das ist eigentlich falsch. Durch die where-Bedingung kann es ja nur einen Datensatz geben, also ist die while-Schleife Quatsch

 
Quetschi
07-07-2017, 15:15 
 
Und wenn id gar nicht unique ist? :D

Klaro - while-Schleife ist nicht schön, wenn die Abfrage maximal nur einen Datensatz liefert.

Aber es wäre sowieso noch weiter vorne anzufangen wo mal wieder eine Eingabe schnurgerade in ein Statement reinläuft....


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:19 Uhr.