php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.08.2005, 22:20  
Gast
 
Beiträge: n/a
Standard WHERE-Abfrage

hallo,

ich wollte aus einer datenbank ein paar datensätze rausholen mit einer "komplexeren" where-abfrage.
zb:

PHP-Code:
<?php
mysql_query
("SELECT * FROM tabelle WHERE substr(text,0,2)='abc'");
?>
im beispiel sollte der code alle datensätze rausholen, wo die ersten 3 zeichen des "text"s abc sind. nur die abfrage wird nicht funktionieren wie ich es mir denken kann.
wie kann man denn so eine abfrage machen?

mfg
dmx
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.08.2005, 22:35  
Gast
 
Beiträge: n/a
Standard

Wieso sollte sie nicht funktionieren?
Sonst...
WHERE text LIKE "abc%"
  Mit Zitat antworten
Alt 11.08.2005, 01:38  
Erfahrener Benutzer
 
Registriert seit: 30.01.2005
Beiträge: 435
Jojo1
Standard Re: WHERE-Abfrage

Zitat:
Zitat von DarkManX
hallo,
nur die abfrage wird nicht funktionieren wie ich es mir denken kann.
Jo richtig erkannt.
WHERE spalte ='wert' bitte
du hast WHERE wert = 'wert' gemacht .. Was bitte soll das bringen?

Zitat:
Zitat von Alibi
Wieso sollte sie nicht funktionieren?
Sonst...
WHERE text LIKE "abc%"
WHERE spalte = "abc%";
das könnte klappen
aber weiß auch nicht
Jojo1 ist offline   Mit Zitat antworten
Alt 11.08.2005, 07:53  
Gast
 
Beiträge: n/a
Standard

@jojo1
Komplett dummes Zeug, was du da schreibst. Der erste Teil ist falsch, da steht nicht wert='wert', der zweite Teil ist unnötig, da das mehr oder weniger eine Wiederholung von Alibi ist.

MySQL-Zeichenkettenfunktionen: http://dev.mysql.com/doc/mysql/de/string-functions.html

Der Spaltenname text ist unglücklich gewählt: http://dev.mysql.com/doc/mysql/de/reserved-words.html

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html

Gruß
phpfan
  Mit Zitat antworten
Alt 11.08.2005, 13:58  
Erfahrener Benutzer
 
Benutzerbild von stefanjann
 
Registriert seit: 02.08.2005
Beiträge: 252
PHP-Kenntnisse:
Fortgeschritten
stefanjann
Standard

Zitat:
SUBSTR(x,a,b)
Part of the character string x that starts at the ath character and is b characters long.
SUBSTR('abc',0,2) = 'ab';

Gruß,
Stefan Jann
__________________
SELECT * benutze ich nur um den Post kurz zu halten.
stefanjann ist offline   Mit Zitat antworten
Alt 11.08.2005, 16:41  
Gast
 
Beiträge: n/a
Standard

Zitat:
Der Spaltenname text ist unglücklich gewählt: http://dev.mysql.com/doc/mysql/de/reserved-words.html

16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html
ja ist mir schon klar, habe ja auch nur so geschrieben. benutze fast nie * wenn nciht alle benutzt werden.

Zitat:
Zitat:

SUBSTR(x,a,b)
Part of the character string x that starts at the ath character and is b characters long.


SUBSTR('abc',0,2) = 'ab';
Nee, ne?!?!

in meiner abfrage steht kein string als 1. parameter, es ist der name einer spalte (wird aber wie ich vermute als konstante ausgelegt). aber da es in der sql-abfrage liegt, weiss ich nicht wie es sich genau auswirkt.
außerdem würde es 'abc' ausgeben, weil das 0.zeichen a und das 2.zeichen c ist. also bitte nicht schaumeiern...

mfg
dmx
  Mit Zitat antworten
Alt 11.08.2005, 16:51  
Erfahrener Benutzer
 
Benutzerbild von stefanjann
 
Registriert seit: 02.08.2005
Beiträge: 252
PHP-Kenntnisse:
Fortgeschritten
stefanjann
Standard

Zitat:
Part of the character string x that starts at the ath character and is b characters long.
Übersetz dir das mal bitte ins Deutsche ! Besonders den Party mit "characters long" !!! Also von Position 0 an 2 nach rechts gehe, wo bin ich dann?

Aber gut, ich werde versuchen bei deinen Posts nicht mehr zu schlaumeiern! Ich bin mir sicher ein Blick ins Manual hilft dir weiter und siehst wie schlau ich doch bin!
__________________
SELECT * benutze ich nur um den Post kurz zu halten.
stefanjann ist offline   Mit Zitat antworten
Alt 11.08.2005, 16:55  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Zitat:
außerdem würde es 'abc' ausgeben, weil das 0.zeichen a und das 2.zeichen c ist. also bitte nicht schaumeiern...
SUBSTR() is a synonym for SUBSTRING(), added in MySQL 4.1.1.

SUBSTRING(str,pos) , SUBSTRING(str FROM pos) , SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len)
The forms without a len argument return a substring from string str starting at position pos. The forms with a len argument return a substring len characters long from string str, starting at position pos. The forms that use FROM are standard SQL syntax. Beginning with MySQL 4.1, it is possible to use a negative value for pos. In this case, the beginning of the substring is pos characters from the end of the string, rather than the beginning. A negative value may be used for pos in any of the forms of this function.


Wenn dann heisst es also
WHERE SUBSTR(text,1,3)='abc'
DiBo33 ist offline   Mit Zitat antworten
Alt 11.08.2005, 17:00  
Erfahrener Benutzer
 
Benutzerbild von stefanjann
 
Registriert seit: 02.08.2005
Beiträge: 252
PHP-Kenntnisse:
Fortgeschritten
stefanjann
Standard

Stimmt. Es hat keiner von uns zwei Recht!
__________________
SELECT * benutze ich nur um den Post kurz zu halten.
stefanjann ist offline   Mit Zitat antworten
Alt 11.08.2005, 17:45  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von stefanjann
Zitat:
Part of the character string x that starts at the ath character and is b characters long.
Übersetz dir das mal bitte ins Deutsche ! Besonders den Party mit "characters long" !!! Also von Position 0 an 2 nach rechts gehe, wo bin ich dann?
ajo, da war ich wohl auf dem holzweg :wink:
  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
Abfrage -> where String anhängen Papst Datenbanken 2 28.12.2007 23:11
Where Abfrage durchsuchen $$$ ThiKool $$$ Datenbanken 3 12.09.2007 16:42
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
where abfrage liefert zu viele ergebnisse phpdummi Datenbanken 9 22.01.2007 22:54
Mehrfach where in der ABfrage? Kori Datenbanken 4 16.01.2007 16:46
Mehrere Werte in WHERE abfrage McNet Datenbanken 6 23.04.2006 02:06
SELECT WHERE datetime abfrage - Optimierung mrSpok Datenbanken 15 23.03.2006 19:08
WHERE abfrage nach Datum Datenbanken 2 06.03.2006 16:42
WHERE Falsche Abfrage? Kein MySQL Fehler PHP Tipps 2005-2 10 30.09.2005 10:43
Nach MySQL abfrage noch WHERE ? atom-dragon PHP Tipps 2005-2 6 12.06.2005 04:21
php Variablen in MySQL Abfrage verwenden (WHERE Bedingung) PHP Tipps 2005 20 20.04.2005 20:05
[Erledigt] WHERE Abfrage wird ignoriert Datenbanken 1 22.02.2005 21:19
WHERE LIKE abfrage Datenbanken 2 06.01.2005 09:15
[Erledigt] Doppelte WHERE Abfrage Datenbanken 2 13.11.2004 23:59
abfrage where sth = NULL stefan-miti PHP Tipps 2004 6 26.08.2004 18:34


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:44 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.