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

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-08-2006, 00:07
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Statement zu einem prepared Statement umwandeln

Hallo,
folgendes möchte ich erreichen: Ich übergebe einer Methode ein SQL-Statement. Etwa so:
PHP-Code:
<?php
    $db
->execute("SELECT * FROM users WHERE Username = '" $_POST['username'] . "' AND Password = '" $_POST['password'] . "';");
?>
Die Methode soll das jedoch als ein prepared Statement ausführen.
Also daraus "SELECT * FROM users WHERE Username = ? AND Password = ?" und dann halt per mysqli_bind_param() auch wieder die Parameter anhängen. Das muss doch mit regulären Ausdrücken möglich sein, oder nicht?
Das Problem ist nur, dass ein Statement ja nicht immer so einfach ist. Man muss ja auch Dinge wie "LIMIT" oder "ORDER BY" beachten, die Werte da können auch variabel sein. Dazu kommen die Leerzeichen vor den Gleichheitsszeichen, die man weglassen kann, das Semikolon am Ende, die beiden Typen von Anführungszeichenn usw.

Vielleicht kennt ja jemand sogar ein fertiges Script oder kann mir ein wenig auf die Sprünge helfen!

Danke schonmal!

Johannes
Mit Zitat antworten
  #2 (permalink)  
Alt 17-08-2006, 00:20
DigitalDoener
 Newbie
Links : Onlinestatus : DigitalDoener ist offline
Registriert seit: Dec 2003
Beiträge: 38
DigitalDoener ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also wenn du an bestimmte stellen eine Variablenwert anhängen möchtest. So hab ich es jetzt verstanden dann würde ich

sprintf empfehlen

http://de3.php.net/manual/de/function.sprintf.php

EDIT ***

Also ich glaube ich weiß was du meinst.

Wieso machst du in den SQL-Statement nicht einfach ein Bestimmten Parameter rein und die Werte für diese Variablen übergibst du per Array als einen weiteren Methoden-Wert

mfg

DigitalDoener

Geändert von DigitalDoener (17-08-2006 um 00:23 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 17-08-2006, 01:02
billiejoe90
 Newbie
Links : Onlinestatus : billiejoe90 ist offline
Registriert seit: May 2005
Beiträge: 40
billiejoe90 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zu der Lösung mit sprintf():
Wie soll ich denn die Fragezeichen an einer bestimmten Stelle einfügen, wenn ich gerade diese Stellen nicht kenne?

Zu deinem zweiten Vorschlag:
Da ich einfach nur ein SQL-Statement übergeben möchte, nicht noch irgendein "Schnick-Schnack" - das macht den Code schnell unübersichtlich und außerdem möchte ich als Programmierer nichts von dem prepared Statement wissen, sondern einfach nur ein Statement übergeben, das dann die Methode entsprechend verarbeitet. So ist die Methode auch flexibler!
Mit Zitat antworten
  #4 (permalink)  
Alt 17-08-2006, 13:17
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was du vor hast ist unglaublicher Overhead, du wirst in einer vernünftigen Anwendung, deren Performance nur deswegen nicht in den Keller gehen soll, nicht darum herum kommen jegliche Queries neu zu schreiben.

Aber vorher solltest du wissen, dass prepared Statements in mysqli sehr buggy sind, nutz mal die Suchfunktion ich hab dazu passend mal einen Thread eröffnet, weil ich halb am verzweifeln war .... überleg es dir gut, ob du das WIRKLICH willst....
Mit Zitat antworten
Antwort

Lesezeichen


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

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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:14 Uhr.