php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.11.2009, 13:26  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
currywurst befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] SELECT * FROM $variable

PHP-Code:
public function Select($ort$select FALSE$selection FALSE)
    {
        if(
$select == FALSE){
            
$sql mysql_query("SELECT * FROM '".$ort."'")or die(mysql_error());
        }else{
            
$sql mysql_query("SELECT * FROM '".$ort."' WHERE '".$select."' = '".$selection."'")or die(mysql_error()); 
         }
        return 
$sql;
    } 
Ich bekomme immer den folgenden Fehler:
Zitat:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''user'' at line 1
Ich weiß Syntax error, ist es überhaupt möglich, Tabellen per Variable anzusprechen? Hab sonst ganz normal direkt damit gearbeitet (mysql), wollte es dieses mal, wie in meinem Code zusehen ist, es über eine Klasse laufen lassen. Ist dies möglich?

~Curry
currywurst ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.11.2009, 13:42  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Lass dir doch vor dem Return die Abfrage ausgeben! Variable sind in dem Fall kein Problem. Aber du hast mit Sicherheit einen Fehler drin und zwar in der zweiten Version.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 04.11.2009, 13:57  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
currywurst befindet sich auf einem aufstrebenden Ast
Standard

Wie meinst du das mit Return Ausgeben?
hm meinste aus dem Resource nen string zuziehen bzw. das in z.b nen Array zu packen? Weil das ja schon alleine durch den SELECT error nicht geht.
Wie ist denn die Syntax für eine ganz normale SELECT abfrage mit $variable?
Eigentlich doch:
PHP-Code:
"SELECT * FROM '".$variable."'" 
currywurst ist offline   Mit Zitat antworten
Alt 04.11.2009, 14:17  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du sollst die evaluierte Abfrage ausgeben, nicht den Return:
PHP-Code:
public function Select($ort$select FALSE$selection FALSE){
    if (
$select == FALSE){
        
$sql "SELECT * FROM " $ort;
    }
    else{
        
$sql "SELECT * FROM " $ort " WHERE " $select " = '" $selection "'"
    }
    echo 
$sql// Testausgabe
    
$res mysql_query($sql) or die(mysql_error());
    return 
$res;

Ausserdem gehören Tabellen- und Attributnamen in SQL-Abfragen natürlich nicht in Anführungszeichen, ob es nun Literals oder Variablen sind.
Und SELECT * FROM solltest du dir auch gleich abgewöhnen.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 04.11.2009, 14:22  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
currywurst befindet sich auf einem aufstrebenden Ast
Standard

Okay funktioniert, und bin immer für Ratschläge offen danke Hat mir alles sehr geholfen.
currywurst ist offline   Mit Zitat antworten
Alt 04.11.2009, 14:37  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Die Funktion ist kokolores.
Zum einen holst du wegen SELECT * immer alle Spalten ab, und zum anderen scheitert das Ganze dann, wenn WHERE mehr als eine einzige Spalte betrifft:
PHP-Code:
SELECT vorname,name,gebdat FROM adressen WHERE ort='Hamburg' AND anmeldejahr='2006'
Du müsstest den kompletten Querystring an die Funktion übergeben, um das abbilden zu können. Dann aber ist die Funktion reduziert auf mysql_query, was dann überhaupt keinen Mehrwert mehr bietet.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 04.11.2009, 14:41  
Neuer Benutzer
 
Registriert seit: 04.11.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
currywurst befindet sich auf einem aufstrebenden Ast
Standard

Sorry aber wollte ich das du meine funktion bewertest?
Ich wollte nur "lernen" bzw. verstehen wie es geht das es an AND scheitert is mir klar.
Trozdem danke
currywurst ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] SELECT from $variable hallophp Datenbanken 1 30.10.2009 14:57
mehrere select count zusammen fassen reddevil82 PHP Tipps 2009 9 03.05.2009 21:45
[Erledigt] SELECT * FROM ohne WHERE halskrause Datenbanken 5 15.03.2009 17:27
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[gelöst] SELECT COUNT(*) FROM SUBSELECT braucht ewig! stefanjann Datenbanken 3 25.02.2008 08:44
select count(*) from tabelle mit AND = fehler ... cytrobic Datenbanken 2 27.07.2006 12:40
php-file wird downgeloadet dws Server, Hosting und Workstations 10 19.04.2006 18:45
Select * FROM * WHERE ??? PHP Tipps 2005-2 12 07.10.2005 17:45
SELECT * FROM 2 Tabellen - Problem Datenbanken 1 01.09.2005 16:30
Befehlsoptimierung faux Datenbanken 4 31.05.2005 19:11
SELECT * FROM tabelle WHERE DarkThunder PHP Tipps 2005 10 23.04.2005 21:17
SELECT FROM DB WHERE 2 SACHEN UEBEREINSTIMMEN Datenbanken 3 24.01.2005 15:58
SELECT FROM...WHERE id=(SELECT...) bicpi Datenbanken 4 24.10.2004 10:53
Select FROM tabelle ORDER BY id LIMIT 1,10 funkt nicht richt juhuwoorps Datenbanken 6 12.09.2004 14:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/datenbanken/60855-erledigt-select-variable.html, sql select variable, select from variable, sql select from variable, sql select where variable, sql select mit variable, select * from variable php, select where variable, sql select * from variable, select from where variable, mysql_query variable, php sql abfrage mit variablen, variable in select, select in einer funktion mit variable in php, sql select in variable, sql variable select, select variable sql, sql select as variable, php select from where variable, sql variablen select

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:08 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum