| 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! Post your PHP questions here! |
 |

17-01-2010, 23:50
|
|
samioli
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 10
|
|
SQL abfrage mit bestimmten varaiblen ausführen
Hi,
ich habe ein html formular, über die der user kann paar Variablen aus der DB selectieren, beim senden möchte ich eine SQL Abfrage ausführen, aber nur mit den gesendeten Variablen, also wenn der User name, nachname selectiert hat von 10 select-möglichen, dann soll die SQL Abfrage nur mit diesen Vriablen ausgeführt.
select $_POST['name'], $_POST['nachname'] aus table
könnte mir bitte jemand dabei helfen?
vielen Dank
Sam.
|

18-01-2010, 00:38
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
mal abgesehen davon, dass du dem Benutzer damit Tür und Tor für Angriffe öffnest, wenn du es nicht richtig machst und dich daher sehr eingehend mit der Materia beschäftigen solltest, sag uns bitte, was genau du wissen willst, wo genau du nicht weiterkommst und was genau du dir selbst schon erarbeitet hast (Codeansätze).
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

18-01-2010, 01:40
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
|

18-01-2010, 07:59
|
|
samioli
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 10
|
|
hallo,
vielen Dank für den Antwort, was ich mache ist folgendes: ich habe eine Datenbank und der user kann bestimmte Datenfelder exportieren in einem CSV file, deshalb selectiert er die felder die er haben möchte so:
<form id="form1" name="form1" method="post" action="index.php">
<table width="290" border="1">
<tr>
<td width="135">name</td>
<td width="139">
<input type="checkbox" name="name" value="1" />
</td>
</tr>
<tr>
<td>nachname</td>
<td><input type="checkbox" name="nachname" value="2" /></td>
</tr>
<tr>
<td>email</td>
<td><input type="checkbox" name="email" value="3" /></td>
</tr>
<tr>
<td>plz</td>
<td><input type="checkbox" name="plz" value="4" /></td>
</tr>
</table>
<label>
<input type="submit" name="Submit" value="Senden" />
</label>
</form>
die felder die markiert sind werden dann in index.php abgearbeitet:
ich kann mit if (!empty($_POST['email'])) uzw... oder mit if(isset($_POST['name']))
die Variablen überprüfen ob sie leer sind oder nicht.
jetzt genau mein problem ist, eine SQL Abfrage zu machen mit dem nur ausgewählten variablen.
vielen Dank.
|

18-01-2010, 08:08
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Bitte bearbeite deinen Beitrag und benutze die Code-Tags!
Deine Abfrage ist ein String. Strings kann man verketten und daher auch sukzessive zusammenbauen. Wenn eine Variable leer ist, wird der entsprechende Teil einfach nicht eingebaut. Beispiel:
PHP-Code:
if (isset($_POST["foo"]) && strlen(trim($_POST["foo"]))) { $query .= " and `foo`='" . myEscape($_POST["foo"]) . "'"; }
Die Funktion myEscape ist nur der Platzhalter für die Funktion, die dich vor SQL Injections schützt. Das ist aber je nach DB-Treiber anders implementiert.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

18-01-2010, 10:57
|
|
samioli
Registrierter Benutzer
|
|
Registriert seit: Jan 2010
Beiträge: 10
|
|
Zitat:
Zitat von AmicaNoctis
Bitte bearbeite deinen Beitrag und benutze die Code-Tags!
Deine Abfrage ist ein String. Strings kann man verketten und daher auch sukzessive zusammenbauen. Wenn eine Variable leer ist, wird der entsprechende Teil einfach nicht eingebaut. Beispiel:
PHP-Code:
if (isset($_POST["foo"]) && strlen(trim($_POST["foo"]))) { $query .= " and `foo`='" . myEscape($_POST["foo"]) . "'"; }
Die Funktion myEscape ist nur der Platzhalter für die Funktion, die dich vor SQL Injections schützt. Das ist aber je nach DB-Treiber anders implementiert.
Gruß,
Amica
|
vielen Dank für die schnelle Antwrot!
|

18-01-2010, 13:54
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von AmicaNoctis
Bitte bearbeite deinen Beitrag und benutze die Code-Tags!
|
Zitat:
Zitat von samioli
vielen Dank für die schnelle Antwrot!

|
Vielen Dank für das völlige Ignorieren von allem, was nicht ausschließlich dir, sondern auch anderen zugute käme!
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

18-01-2010, 14:08
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
OffTopic: Ja, ich glaub der Umgang mit einem Forum muss hier noch erlernt werden:
1. Keine Crosspostings
2. Kein Full-Quotes
3. Lösung posten
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| 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.
HTML-Code ist aus.
|
|
|
|
PHP News
|