Insert in Tabelle es erfolgt kein Eintrag

Hallo Yaslaw,
benötige doch noch mal Hilfe. Mit folgendem Script kann ich keine DB Abfrage machen. Daten stehen alle drin auch mit der Bezeichnung stimmt alles. Mit dem gleichen Script gelingt die Ausgabe der Daten für eine andere Tabelle. Ich verstehe das nicht.
Hier das Script:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Neue Seite 3</title>
<link rel="stylesheet" href="../arbeitgeber/int.css" type="text/css" />
</head>

<body>

<?php //MEHRERE SUCHWÖRTER MÖGLICH

//Suchwort
$suche = $_POST["suche"];
$suchteile = split(" ", $suche);

//zählen, wieviele Suchbegriffe eingegeben wurden
$items = count($suchteile);

//Ausgabe zum Kontrollieren
//echo " $items Wörter sind es <br>";

//SuchergebnisAusgabe
echo "<center><h3><b><u>Übersicht des Suchergebnisses</u></b></h3>";

//Verbindungsaufbau zum Server
include ("config.php");


//jedes einzelne Suchwort ausgeben
if ($items != 0) {
for($x=0; $x<$items; $x++) {
$n = $x + 1;
echo " <b>$n. Suchwort: $suchteile[$x] </b> <br>";

//Datensätze in denen das gesuchte Wort ($suche) vorkommt; % = unbekannte Zeichen
$abfrage = "SELECT * FROM abzock_internet WHERE lower(name) LIKE '%$suchteile[$x]%' OR lower(hp) LIKE '%$suchteile[$x]%'";

$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))

{
echo '<table id="tab1" width="750" border="0">';
echo "<thead>";
echo "<tr>";
echo "<td class='tdname' width='150'>Name</td>";
echo "<td class='tdname' width='150'>Homepage</td>";
echo "<td class='tdname' width='150'>Bericht</td>";

echo "</tr>";
echo "</thead>";
//echo "<tr>";
echo "<td class='ausgabe' width=150>". $row->name . "</td>";
echo "<td class='ausgabe' width=150>". $row->hp . "</td>";
echo "<td class='ausgabe' width=150>". $row->ereignis . "</td>";

echo "</tr>";
echo "<br />";
//echo "</tr>";

}
echo "</table>";
}
}

//Verbindung beenden
mysql_close($verbindung);
?>
<br />
<p>Wenn Ihre Suche <b>keinen Erfolg</b> hatte, oder Sie eine <b>erneute Suche</b> starten wollen,</p><br />
<p> klicken Sie auf :</p>
<br/><br/>
<p><a href="http://www.opfer.es/internet/int_suche.php">Neue Suche</a></p>

</body>
</html>

Würde mich freuen wenn Du den Fehler findest!
Gruß Peter
 
Bitte, bitte den Code in Zukunft in [PHP]mein Code[/PHP] setzen

Ich habs jetzt mal formatiert und dabei stellt man tolle DInge fest
PHP:
<?php //MEHRERE SUCHWÖRTER MÖGLICH

//Suchwort
$suche = $_POST["suche"];
$suchteile = split(" ", $suche);

//zählen, wieviele Suchbegriffe eingegeben wurden
$items = count($suchteile);

//Ausgabe zum Kontrollieren
//echo " $items Wörter sind es <br>";

//SuchergebnisAusgabe
echo "<center><h3><b><u>Übersicht des Suchergebnisses</u></b></h3>";

//Verbindungsaufbau zum Server
include ("config.php");


//jedes einzelne Suchwort ausgeben
if ($items != 0) {
	for($x=0; $x<$items; $x++) {
		$n = $x + 1;
		echo " <b>$n. Suchwort: $suchteile[$x] </b> <br>";

		//Datensätze in denen das gesuchte Wort ($suche) vorkommt; % = unbekannte Zeichen
		$abfrage = "SELECT * FROM abzock_internet WHERE lower(name) LIKE '%$suchteile[$x]%' OR lower(hp) LIKE '%$suchteile[$x]%'";
		$ergebnis = mysql_query($abfrage);
		while($row = mysql_fetch_object($ergebnis)){
			echo '<table id="tab1" width="750" border="0">';
			echo "<thead>";
			echo "<tr>";
			echo "<td class='tdname' width='150'>Name</td>";
			echo "<td class='tdname' width='150'>Homepage</td>";
			echo "<td class='tdname' width='150'>Bericht</td>";

			echo "</tr>";
			echo "</thead>";
			//echo "<tr>";
			echo "<td class='ausgabe' width=150>". $row->name . "</td>";
			echo "<td class='ausgabe' width=150>". $row->hp . "</td>";
			echo "<td class='ausgabe' width=150>". $row->ereignis . "</td>";

			echo "</tr>";
			echo "<br />";
			//echo "</tr>";
		}
		echo "</table>";
	}
}

item: Du hast den echo mit dem table-Anfangs-Tag innerhalb der Schleife der Details. Der muss eine stufe höher.
item: echo "<br />" nach dem <tr /> bringt gar nix und ist im HTML ungültig an dieser Stelle
item: Du solltest den LOWER() auch auf die Suchbegriffe anwenden - du weist nicht, ob ein Suchbegriff auf einmal auch mit Grossbuchstaben daherkommt.
SQL:
... lower(name) LIKE lower('%$suchteile[$x]%') ...

Der Code ansonsten sieht eigentlich korrekt aus (wenn auch ein bisschen umständlich).
Irgend etwas in deiner Abfrage muss falsch sein. Es gibt da eine möglichkeit wie du das herausfinden kannst. Ich hab da vor längerer Zeit mal ein Tutorial geschrieben. Geh das mal mit deinem Code durch.
PHP MySQL Debug Queries
 
hallo Yaslaw,
danke Dir, habe die Punkte geändert, auch das tutorial gelesen. Habe bislang keinen Erfolg. Ich probiere weiter denn die gleichen Scripte die ich verwende schreiben mir Daten in die DB (andere Tabellen) und geben sie auch aus. Irgendwo habe ich etwas übersehen, ich mache weiter bis es klappt.
 
Zurück