Komisches PHP-Problem

AngstHab

Mitglied
HI
Folgendes Problem hab ich:

Hab auf 1und 1 ne HP mit ner Anzeige des Tabelleninhaltes auf der Seite, nun möchte ich das auch bei nem Kumpel der bei Strato gehostet wird einrichten!
Es geht aber net!
Die Übergabe per $_Post , habe Testweise mal per Echo ausgegeben!
Datenbankanbindung geht auch, er werkelt rum und durchsucht scheinbar die Datenbank, aber als Ergebnis erhalte ich leider ne leere Seite "kopfschüttel" !
Hier das Script, ich hab es ein bissle vereinfacht ;), normal hab ich nat. net nura a, b , usw drin!
PHP:
<?php
$verbindung = mysql_connect("###########", "############" , "###############")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("#############") or die ("Datenbank konnte nicht ausgew&auml;hlt werden");

$order_id = $_POST["order_id"];

$abfrage = "SELECT a , b , FROM tab_1 WHERE a LIKE '$order_id' Limit 1";
$ergebnis = mysql_query($abfrage);
while ($Zeile = mysql_fetch_array ($ergebnis,MYSQL_ASSOC))
    {
    print ("<table rules=\"rows\" cellspacing=\"50\">\n");
    print ("<tr align=center valign=top>\n");
    print ("<td align=left	class=\"ergebnis_tabelle\" width=\"200\"><strong>A</strong></td>\n");
    print ("<td align=left	class=\"ergebnis_tabelle\" width=\"200\">&nbsp;$Zeile[a]</td>\n");
    print ("</tr>\n");
    print ("</table>\n");
    }
mysql_close ($verbindung);
?>

mfg AngstHab
 
Hallo,

setz doch zuerst mal deinen Code in [ php ] [ /php ] , dann kann ihn besser lesen ;) .
Hast du mal den Inhalt von $_POST ausgegeben? Sollte man allgemein immer prüfen lassen.

Ansonsten ist in deinem Query ein Komma zuviel, sagt denn mysql_error() dazu nichts?
SQL:
SELECT a , b FROM tab_1 WHERE a LIKE '$order_id' Limit 1

Ceppi
 
Probier mal Folgendes:
PHP:
<?php

	$verbindung = mysql_connect("###########", "############" , "###############")
		or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
	mysql_select_db("#############")
		or die("Datenbank konnte nicht ausgew&auml;hlt werden");

	$abfrage = '
		SELECT
		        `a`,
		        `b`
		  FROM
		        `tab_1`
		  WHERE
		        `a` LIKE "'.mysql_real_escape_string($_POST['order_id']).'"
		  LIMIT
		        1
	';
	$ergebnis = mysql_query($abfrage)
		or die(mysql_error());
	while( $Zeile = mysql_fetch_array($ergebnis, MYSQL_ASSOC) ) {
		…
	}
	mysql_close($verbindung);

?>
Vielleicht solltest du zusätzlich noch Platzhalter einsetzen (siehe Zeichenketten-Vergleichsfunktionen).
 
Erstmal vielen Dank für die schnelle Antwort!

Hast du mal den Inhalt von $_POST ausgegeben? Sollte man allgemein immer prüfen lassen.

Das sollte damit erledigt sein:
Die Übergabe per $_Post , habe Testweise mal per Echo ausgegeben!

Übrigens das Komma hab ich beim rauslöschen der Orginalwerte vergessen mit zu killen ;) !

Eine Frage zu deinem Vorschlag Gumbo:

PHP:
while ($Zeile = mysql_fetch_array ($ergebnis,MYSQL_ASSOC))
    {
    print ("<table rules=\"rows\" cellspacing=\"50\">\n");
    print ("<tr align=center valign=top>\n");
    print ("<td align=left    class=\"ergebnis_tabelle\" width=\"200\"><strong>A</strong></td>\n");
    print ("<td align=left    class=\"ergebnis_tabelle\" width=\"200\">&nbsp;$Zeile[a]</td>\n");
    print ("</tr>\n");
    print ("</table>\n");
    }

Das sollte so sein, weil ich ne Art Tabelle brauch wo dem A (kann auch in der Tabelle anders heißen) der Wert a in der gleichen Spalte zugewiesen wird !!
Geht das mit deinem auch? Oder Denk ich zu engstirnig ?

mfg AngstHab
 
Zuletzt bearbeitet:
Mmmmh!
Das kann net wahr sein!

Parse error: parse error, unexpected $ in /mnt/jd1/07/177/00000012/htdocs/service/_php/order_number.php on line 66

PHP:
.
.
63       mysql_close ($verbindung);
64       print ("</table>\n");
65       ?>
66       </body>

Wieso deklariert das PHP bei Strato den HTML-Tag nach dem schliessen des php als Variable?
 
Zurück