Datenbankabfrage bringt leere Seite

Hi liebe Freunde,

für ein Projekt wöhrend meiner Ausbildung muss ich ne Datenbankabfrage in ne Webseite einbinden.
Das Frontend funzt einwandfrei. AAAAAABER: wenn ich das ganze mit method=„post“ an die search.php ü+bergebe, kriege ich nur ne leere seite.

Hier erstmal der PHP Code:

<?php mysql_connect("MEINEDATEN") or die (MELDUNG);
mysql\_select\_db("Die DB um die es geht") or die (MELDUNG); $\_POST['keyword']; /\*Das suchwort aus dem textfeld, was der User eingibt\*/ $\_POST['area']; /\*Art der Suche (also bspw. ob nach Name, Datum etc. gesucht wird)\*/ $abfrage = "SELECT keyword FROM area"; $ergebnis = mysql\_query($abfrage) while (list($keyword)) { echo $keyword; } ?\> Was funzt da dran nicht. Selbst mein Mit-Azubi verzweifelt! Grüße ZeroEnna

Hallo

Hier erstmal der PHP Code:

<?php :mysql_connect("MEINEDATEN") or die (MELDUNG);
... ?\> Was funzt da dran nicht. Selbst mein Mit-Azubi verzweifelt!

Bitte poste mal den realen Code und nicht das,
was sich die Sekretärin gemerkt hat, nachdem Du
es ihr aus der Küche zugerufen hast :wink:

Grüße

CMБ

<?php mysql_connect("localhost","root","FFXBBC2003") or die ("Keine Verbindung möglich);
mysql\_select\_db("assetscout24") or die ("Die Datenbank exisitert nicht"); $\_POST['keyword']; $\_POST['area']; $abfrage = "SELECT keyword FROM area"; /\*Suche das Suchwort in der Spalte, die unter dem Dropdown Menü "Area" angegeben wurde \*/ $ergebnis = mysql\_db\_query($abfrage); while (list($keyword) = mysql\_fetch\_array($ergebnis)) { echo §keyword; } ?\> Das ist der vollständige Code. Grüße Zero P.S. Datenbank läuft auf meinem Laptop zu Testzwecken

Hallo,

Achtung: beim nächsten mal die Angaben für Benutzername
und Passwort nach dem Einkopieren noch durch ‚username‘
und ‚password‘ ersetzen! Das muß niemand wissen :wink:

> <?php :mysql_connect('host','username','password') or die ("Keine Verbindung möglich);<br />

Hier fehlt ein " am Ende.

mysql_select_db(„assetscout24“) or die („Die Datenbank exisitert nicht“);
$_POST[‚keyword‘];
$_POST[‚area‘];

Was sollen die letzten beiden Zeilen machen? Was glaubst Du,
was sie tatsächlich bewirken?

$abfrage = „SELECT keyword FROM area“; /*Suche das Suchwort in der Spalte, die unter dem Dropdown Menü „Area“ angegeben wurde */

Das sucht das Wort ‚keyword‘ in der Tabellenspalte ‚area‘.
Soll das so sein?

$ergebnis = mysql_db_query($abfrage);
while (list($keyword) = mysql_fetch_array($ergebnis)) {

list() überträgt eine Sequenz von Skalaren in einen
Array-Kontext in PHP. Wo kommt jetzt $keyword her?
Willst Du nur das erste Ergebnis haben - also je eines
pro Durchlauf?

echo §keyword;

$ oder §

Das ist der vollständige Code.

Mach mal obendrüber:

<?php <b>error\_reporting(E\_ALL);

 ... der restliche Code
 ...

Grüße

CMБ

<?php ::mysql_connect('host','username','password') or die ("Keine Verbindung möglich);

Hier fehlt ein " am Ende.

Sorry, ist beim abtippen passiert (arbeite an zwei Rechnern, nur mein laptop hat kein I-Net)

mysql_select_db(„assetscout24“) or die („Die Datenbank exisitert nicht“);
$_POST[‚keyword‘];
$_POST[‚area‘];

Was sollen die letzten beiden Zeilen machen? Was glaubst Du,
was sie tatsächlich bewirken?

Sie lesen die Parameter aus den beiden -Teilen (eine -Dropdown-Auswahl und ein Input-Text-Feld) aus und übertragen sie in PHP, zumindest laut selfPHP.

$abfrage = „SELECT keyword FROM area“; /*Suche das Suchwort in der Spalte, die unter dem Dropdown Menü „Area“ angegeben wurde */

Das sucht das Wort ‚keyword‘ in der Tabellenspalte ‚area‘.
Soll das so sein?

Japp, der User soll nämlich mit dem begriff „Area“ die Suche einschränkenm, sodass nur ein bestimmter Bereich (Beispielsweise Suche nur nach Seriennummern, Computernamen, IP-Adressen etc.) abgegrast wird.

$ergebnis = mysql_db_query($abfrage);
while (list($keyword) = mysql_fetch_array($ergebnis)) {

list() überträgt eine Sequenz von Skalaren in einen
Array-Kontext in PHP. Wo kommt jetzt $keyword her?
Willst Du nur das erste Ergebnis haben - also je eines
pro Durchlauf?

Die Variable Keyword wie gesagt kommt vonm der index.php mit dem Suchfeld.

echo §keyword;

$ oder §

Das ist der vollständige Code.

Mach mal obendrüber:

<?php :
**error\_reporting(E\_ALL); ... der restliche Code ...** Grüße CMБ

Errors = negativ ^^

Hallo

Die Variable Keyword wie gesagt kommt vonm der index.php mit
dem Suchfeld.

echo §keyword;

$ oder §

Das ist der vollständige Code.

Mach mal obendrüber:

versuch mal eine leichte Änderung:

 ...

 list($host, $dbname, $username, $password) =
 Array('localhost','assetscout24','root','FFXBBC2003');

 mysql\_connect($host, $username, $password) or die('Keine Verbindung möglich');
 mysql\_select\_db($dbname) or die('Die Datenbank exisitert nicht');
 
 $keyword = mysql\_real\_escape\_string($\_POST['keyword']);
 $area = mysql\_real\_escape\_string($\_POST['area']);
 $abfrage = "SELECT $keyword FROM $area";
 
 $ergebnis = mysql\_db\_query($dbname, $abfrage);
 while( list($hit) = mysql\_fetch\_array($ergebnis) ) {
 echo $hit . "\n";
 }
 ...

Grüße

CMБ

Warning: mysql_fetch_aeeay() supplied argument is not a valid MySQL result resource in C:\Dokumente und Einstellungen$BENUTZER\Desktop\xampplite\htdocs\search.php on line 13

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo

Warning: mysql_fetch_aeeay() supplied argument is not a valid
MySQL result resource in C:\Dokumente und
Einstellungen$BENUTZER\Desktop\xampplite\htdocs\search.php on
line 13

Bau mal ein paar Prüfungen ein und schau was herauskommt:

<?php error_reporting(E_ALL);<br />
 list($host, $dbname, $username, $password) = Array('localhost','assetscout24','root','FFXBBC2003');

 mysql\_connect($host, $username, $password) or die ('Keine Verbindung möglich');
 mysql\_select\_db($dbname) or die ('Die Datenbank exisitert nicht');
 
 $keyword = mysql\_real\_escape\_string($\_GET['keyword']);
 $area = mysql\_real\_escape\_string($\_GET['area']);
 $abfrage = "SELECT $keyword FROM $area";
 echo "$abfrage 
\n";
 
 $ergebnis = mysql\_query($abfrage);
 $treffer = mysql\_num\_rows($ergebnis);
 echo "$treffer Hits
\n";
 
 while( list($hit) = mysql\_fetch\_array($ergebnis) ) {
 echo $hit . "
\n";
 }

?\>

Du solltest natürlich das ganze fehlerfrei
übertragen können.

Grüße

CMБ

Hallo

Die Variable Keyword wie gesagt kommt vonm der index.php mit
dem Suchfeld.

echo §keyword;

$ oder §

Das ist der vollständige Code.

Mach mal obendrüber:

versuch mal eine leichte Änderung:

list($host, $dbname, $username, $password) =
Array(‚localhost‘,‚assetscout24‘,‚root‘,‚FFXBBC2003‘);

mysql_connect($host, $username, $password) or die(‚Keine
Verbindung möglich‘);
mysql_select_db($dbname) or die(‚Die Datenbank exisitert
nicht‘);

$keyword = mysql_real_escape_string($_POST[‚keyword‘]);

ich geb mal Hauptschule ein

$area = mysql_real_escape_string($_POST[‚area‘]);

logisch in feld Bildungswesen , tabelle ??? ich nenn sie Wissen

$abfrage = „SELECT $keyword FROM $area“;

dann steht da immoment

SELECT Hauptschule FROM Bildungswesen

das heist gebe feld Hauptschule aus tabelle Bildungswesen aus .

Es muss also ein Feld Hauptschule geben ???

Ich glaub aber hier ist was total vermurkst

WEnnich was in einem Textfeld suchen will sollte ich auch die bedingung angeben.

SELECT * FROM Wissen WHERE Bildungswesen like ‚%Hauptschule%‘

hole alle felder von tabelle wissen wo im Feld Bildungswesen das wort Hauptschule vorkommt.

Ansonsten erklär erstmal was das wirklich werden soll. Bzw wie sehen diese Tabellen aus , gibt es wirklich sowas, wo jedes KeyWord auch ein Feldname ist lol , gleich klopf ich mir doppelt auf den kopf :-9

Hallo

ich geb mal Hauptschule ein

$area = mysql_real_escape_string($_POST[‚area‘]);

logisch in feld Bildungswesen , tabelle ??? ich nenn sie
Wissen

$abfrage = „SELECT $keyword FROM $area“;

dann steht da immoment
SELECT Hauptschule FROM Bildungswesen
das heist gebe feld Hauptschule aus tabelle Bildungswesen aus
Es muss also ein Feld Hauptschule geben ???
Ich glaub aber hier ist was total vermurkst
WEnnich was in einem Textfeld suchen will sollte ich auch die
bedingung angeben.
SELECT * FROM Wissen WHERE Bildungswesen like ‚%Hauptschule%‘
hole alle felder von tabelle wissen wo im Feld Bildungswesen
das wort Hauptschule vorkommt.
Ansonsten erklär erstmal was das wirklich werden soll. Bzw wie
sehen diese Tabellen aus , gibt es wirklich sowas, wo jedes
KeyWord auch ein Feldname ist lol , gleich klopf ich mir
doppelt auf den kopf :-9

Wie kann ich wissen, was der OP vorhat?
Außerdem ist das nicht unplausibel, nehmen wir an, Du
hast z.B. eine Tabelle ‚user‘ in der (u.a.) eine Spalte
‚name‘ vorkommt. Dann könntest Du ja sagen:

 "SELECT name FROM user"

… und würdest alle Einträge dafür erhalten.
Das ist zwar sinnlos, aber mir obliegt es nicht,
die Intentionen des OP in Zweifel zu ziehen.

Grüße

CMБ

Ansonsten erklär erstmal was das wirklich werden soll. Bzw wie
sehen diese Tabellen aus , gibt es wirklich sowas, wo jedes
KeyWord auch ein Feldname ist lol , gleich klopf ich mir
doppelt auf den kopf :-9

Wie kann ich wissen, was der OP vorhat?

weil
der start artikel so lautete

<?php mysql_connect("MEINEDATEN") or die (MELDUNG);
mysql\_select\_db("Die DB um die es geht") or die (MELDUNG); $\_POST['keyword']; /\*Das suchwort aus dem textfeld, was der User eingibt\*/ $\_POST['area']; /\*Art der Suche (also bspw. ob nach Name, Datum etc. gesucht wird)\*/ $abfrage = "SELECT keyword FROM area"; $ergebnis = mysql\_query($abfrage) while (list($keyword)) { echo $keyword; } ?\> list($keyword) und 'suchwort aus dem textfeld' sollten auch Dir deutlich zu denken geben , zudem dies ein Anfänger ist, und dort durchaus totale Unlogik was PHP oder und Datenbank angeht, geschweige den das design einer Datenstrucktur mithilfe einer Tabelle reallational etc. Muss ich noch was sagen .... P.S. aber warum überhaupt deine destruktive ansicht, ich hab nur die sachen als beispiel übernommen um ihm mitzuteilen, das vielleicht schon in der Datenbank bzw in der SQL struktur fehler sind, was du jetzt hier wiederum von dir gibst, ist mir sowas von unerklärlich. Ich hab weder dich gemeint, noch die irgentwie kritisiert etc. Ich helf auf meine Weise , du auf deine Weise. Für mich bleibt der Frage in jedem fall ein Anfänger und nicht in SQL profi und in PHP doofie :-9

Hallo,

Wie kann ich wissen, was der OP vorhat?

weil der start artikel so lautete