php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-05-2013, 18:18
Westdesign88
 Registrierter Benutzer
Links : Onlinestatus : Westdesign88 ist offline
Registriert seit: May 2013
Beiträge: 2
Westdesign88 befindet sich auf einem aufstrebenden Ast
Standard Problem mit Datenbankabfrage

Guten Tag,

ich versuche mich auf meine alten Tage nochmal ein wenig mit PHP und MySQL auseinander zu setzen. Ich habe Verbindung zur Datenbank hergestellt und hab dort die Tabelle "Daten" mit den Feldern "Von" "Nach" "Datum" und "Kosten".

Wie ihr seht habe Ich in der Datei "ausgabe.php" nun oben eine Abfrage in der ich Von, Nach und Datum abfrage und nun soll er mir alle Einträge ausspucken die er unter den angegebenen Bedienungen in der Tabelle findet. Ich hoffe es kann mir jemand helfen ich bin wirklich am verzweifeln.

PHP-Code:
<html>
<head><title>Ausgabe</title></head>
<body>
<h3>Datenbankabfrage</h3>
<hr>
<form action="ausgabe.php" method="post">
<br>
<table>
<tr>
<td>Von:
<br>
<select name="Start">
<option value="Berlin">Berlin</option>
<option value="Hamburg">Hamburg</option>
<option value="München">München</option>
<option value="Nürnberg">Nürnberg</option>
</select>
</form>
</td>
</tr>

<tr>
<td>
<br>
Nach:<br>
<select name="Ziel">
<option value="Berlin">Berlin</option>
<option value="Hamburg">Hamburg</option>
<option value="München">München</option>
<option value="Nürnberg">Nürnberg</option>
</select>
<br>
Am:<br>
<input name="Datum" type="text" size="10" maxsize="10" value="<?php
$timeget 
time();
$datum date("d.m.Y",$timeget);
echo 
$datum;
?>" >
<br>

<input type="submit" value="Abfrage">
<input type="reset"  value="Zurücksetzen">
</form>
</td>
</tr>
</table>

<hr>
<h3>Suchergebnis</h3>
<hr>




<?php

//aufbau der datenbankverbindung
$host 'localhost';
$user '****';
$password '****';
$db '*****';
$start $_POST['Start'];
$ziel $_POST['Ziel'];
$datum $_POST['Datum'];

//verbindung zur db herstellen
mysql_connect($host$user$password);
mysql_select_db($db);

$anfrage="SELECT * FROM Daten Where FELD_NAME 1 = '$start' AND FELD_NAME 2 = '$ziel' AND FELD_NAME 3 = '$datum'";
$ergebnis="mysql_query($anfrage)";
 echo 
$ergebnis;
?>
Alles was er mir anzeigt ist:

PHP-Code:
Suchergebnis

      mysql_query
(SELECT FROM Daten Where FELD_NAME 1 'Berlin' AND FELD_NAME 2 'Hamburg' AND FELD_NAME 3 '20.05.2013'
Mit Zitat antworten
  #2 (permalink)  
Alt 05-05-2013, 20:33
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du erst beginnst, dann beginne gleich mit MySQLi, drum nur ein Beispiel, dass Du erst einmal eine Ausgabe erhältst bzw. eine Vorstellung davon. Habe ich jetzt nicht extra getestet.

PHP-Code:
$anfrage  "SELECT * FROM Daten Where FELD_NAME_1 = '".$start."' AND FELD_NAME_2 = '".$ziel."' AND FELD_NAME_3 = '".$datum."'";
$ergebnis mysql_query($anfrage);

if (!
$ergebnis) { exit("Fehler bei Ergebnis!");
}

$row mysql_fetch_assoc($ergebnis);

$feldname_1 htmlspecialchars($row["FELD_NAME_1"], ENT_QUOTES);
$feldname_2 htmlspecialchars($row["FELD_NAME_2"], ENT_QUOTES);        
$feldname_3 htmlspecialchars($row["FELD_NAME_3"], ENT_QUOTES);

echo 
$feldname_1." - ".$feldname_2." - ".$feldname_3."\n"
Wenn mehr als ein Datensatz ausgeben werden soll, so kannst Du gleich das erste Beispiel übernehmen:

PHP: mysql_fetch_assoc - Manual

Geändert von Melewo (05-05-2013 um 20:44 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 05-05-2013, 21:57
Westdesign88
 Registrierter Benutzer
Links : Onlinestatus : Westdesign88 ist offline
Registriert seit: May 2013
Beiträge: 2
Westdesign88 befindet sich auf einem aufstrebenden Ast
Standard

Danke für Ihre Hilfe aber weder Ihr Code noch das Beispiel hat funktioniert ich bin echt am verzweifeln Ich denke das ist einfach zu hoch auf meine alten Tage!
Mit Zitat antworten
  #4 (permalink)  
Alt 05-05-2013, 22:16
mephisto111
 Registrierter Benutzer
Links : Onlinestatus : mephisto111 ist offline
Registriert seit: Nov 2003
Beiträge: 52
mephisto111 befindet sich auf einem aufstrebenden Ast
Standard Anführungszeichen

Hallo,

man kann Fehler doch auch nutzen, um daraus zu lernen. Probieren Sie's doch mal mit

$ergebnis=mysql_query($anfrage);

in der vorletzten Zeile. Weitere Einzelheiten:

PHP: mysql_query - Manual
Mit Zitat antworten
  #5 (permalink)  
Alt 05-05-2013, 23:34
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Westdesign88 Beitrag anzeigen
...und hab dort die Tabelle "Daten" mit den Feldern "Von" "Nach" "Datum" und "Kosten".
Ich weiß ja nicht, was Du da machst, doch wenn ein Feld "Von" und ein anderes "Nach" benannt wurde, dann musst Du die Feldnamen auch benutzen.

PHP-Code:
$anfrage  "SELECT * FROM Daten Where Von = '".$start."' AND Nach = '".$ziel."'";
$ergebnis mysql_query($anfrage);

if (!
$ergebnis) { exit("Fehler bei Ergebnis!");
}

$row mysql_fetch_assoc($ergebnis);

$feldname_1 htmlspecialchars($row["Von"], ENT_QUOTES);
$feldname_2 htmlspecialchars($row["Nach"], ENT_QUOTES);        
$feldname_3 htmlspecialchars($row["Datum"], ENT_QUOTES);

echo 
$feldname_1." - ".$feldname_2." - ".$feldname_3."\n"
Wenn es daran nicht liegt, so halt die Fehler, wie in den einzelnen Beispielen beschrieben, suchen.
Mit Zitat antworten
  #6 (permalink)  
Alt 17-05-2013, 16:27
ArthurDent42
 Registrierter Benutzer
Links : Onlinestatus : ArthurDent42 ist offline
Registriert seit: May 2013
Beiträge: 1
ArthurDent42 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Westdesign88,

es ist nie zu spät um zu lernen!
Aber wenn man lernt, dann auch gleich richtig ;-)
Beim Verarbeiten der Variablen $start, $ziel und $datum wäre es noch besser, bevor diese Werte in der Query an die Datenbank gegeben werden, die Funktion mysql_real_escape_string() anzuwenden.
Siehe: PHP: mysql_real_escape_string - Manual
Da der Inhalt der Variablen über $_POST an das Skript gegeben wird, könnte jemand diese Werte manipulieren und so versuchen die Datenbank zu hacken. Um sich dagegen zu schützen ist es immer besser die Variablen über mysql_real_escape_string() zu "reinigen".

$start = mysql_real_escape_string($_POST['Start']);
$ziel =
mysql_real_escape_string($_POST['Ziel']);
$datum =
mysql_real_escape_string($_POST['Datum']);

Wenn Sie darüber mehr erfahren möchten, könnten Sie mal nach "SQL Injection" googeln oder z.B. dies lesen: SQL Injection verhindern – Angriffe vermeiden - howto-co.de

Viele Grüße und Erfolg,
ArthurDent42
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit einer Datenbankabfrage MPC SQL / Datenbanken 8 01-03-2011 13:36
Problem mit Datenbankabfrage rlebek SQL / Datenbanken 4 30-06-2004 15:44
Problem mit Datenbankabfrage rlebek SQL / Datenbanken 2 05-04-2004 17:17
Problem mit Datenbankabfrage bumi PHP Developer Forum 4 01-07-2002 21:20
Problem mit der Datenbankabfrage ReFresh SQL / Datenbanken 5 03-05-2001 16:14

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:48 Uhr.