php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-07-2011, 16:47
engine
 Registrierter Benutzer
Links : Onlinestatus : engine ist offline
Registriert seit: Jul 2011
Beiträge: 2
engine befindet sich auf einem aufstrebenden Ast
Standard SQL Where In Array OR

Hallo,

ich sitze an einem Projekt und komme nun nicht weiter vor folgendem Problem:

Die SQL Abfrage funktioniert auf unseren localhost (MySql Server Version: 5.5.11) jedoch nicht auf auf dem 1und1 (MySql Server Version:5.0)

Die SQL-abfrage scheitert, sobald "OR p.festservice_b IN (Array) OR p.festservice_c IN (Array)"nach der p.festservice_a steht.

u.Dienste_budget, u.Dienste_gebiet und u.Dienste_service sind Datentypen

Wäre toll, wenn jemand bestätigen oder dementieren könnte dies für mich. Danke

PHP-Code:
      public function getProducts($userid$sort false)
      {
          global 
$db;
          
         (
$sort) ? $order $sort $order "p.date DESC";
                    
          
$where "WHERE NOT EXISTS (SELECT * FROM utransactions AS t WHERE t.user_id = '{$userid}' AND t.product_id = p.token)"
          
"\n AND p.approved='yes'"
          
"\n AND p.status='1'"
          
"\n AND u.uid = '" $userid "'"
          
"\n AND p.budget_id IN (u.Dienste_budget)"
          
"\n AND p.gebiet_id IN (u.Dienste_gebiet)"          
          
"\n AND (p.festservice_a IN (u.Dienste_service)"
          
"\n OR p.festservice_b IN (u.Dienste_service)"
          
"\n OR p.festservice_c IN (u.Dienste_service))";
          
          
$sql "SELECT p.*,"
          
"\n DATE_FORMAT(p.date, '%d.%m.%Y') as created," 
          
"\n DATE_FORMAT(p.festdatum, '%d.%m.%Y') as festdate,"
          
"\n (TO_DAYS(NOW()) - TO_DAYS(p.festdatum)) as days,"
          
"\n TO_DAYS(DATE_ADD(p.festdatum,INTERVAL -1 DAY))- TO_DAYS(NOW()) as expiry"
          
"\n FROM products AS p, usersettings AS u " $where " ORDER BY " $order;
          
$row $db->fetch_all($sql);
          
          return 
$row;

      } 
Mit Zitat antworten
  #2 (permalink)  
Alt 18-07-2011, 17:16
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo und willkommen im Forum!

Bitte Forenregeln (= Grundlagen zur Problembehebung) beachten und vollständige Fehlermeldungen zitieren. „Funktioniert nicht“ ist keine Fehlerbeschreibung und lässt uns sinnlos im Dunkeln tappen. Daher landen „funzt nicht“-Thread gerne mal auf dem Abstellgleis.

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!
Mit Zitat antworten
  #3 (permalink)  
Alt 18-07-2011, 17:42
engine
 Registrierter Benutzer
Links : Onlinestatus : engine ist offline
Registriert seit: Jul 2011
Beiträge: 2
engine befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Hallo und willkommen im Forum!

Bitte Forenregeln (= Grundlagen zur Problembehebung) beachten und vollständige Fehlermeldungen zitieren. „Funktioniert nicht“ ist keine Fehlerbeschreibung und lässt uns sinnlos im Dunkeln tappen. Daher landen „funzt nicht“-Thread gerne mal auf dem Abstellgleis.

Gruß,

Amica
Diese Methode wird allgemein als die einfachste und schnellste aufgefasst.
Traditionelle Methode: Kopieren und Einfügen. Eine gut gestellte Frage ist schon halb beantwortet. Danke
Mit Zitat antworten
  #4 (permalink)  
Alt 18-07-2011, 17:52
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von engine Beitrag anzeigen
Diese Methode wird allgemein als die einfachste und schnellste aufgefasst.
Traditionelle Methode: Kopieren und Einfügen.
Was möchtest du damit sagen? Ich versteh's nicht.
__________________
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!
Mit Zitat antworten
  #5 (permalink)  
Alt 18-07-2011, 17:53
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Was soll uns das jetzt sagen?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 19-07-2011, 15:33
eagle275
 Registrierter Benutzer
Links : Onlinestatus : eagle275 ist offline
Registriert seit: Jun 2010
Beiträge: 403
eagle275 befindet sich auf einem aufstrebenden Ast
Standard

erm -.- ich mach dann mal den Dolmetscher ...

sein "funzt nicht" heißt in dem Fall -> die SQL-Abfrage liefert nicht die erwarteten Ergebnisse

und das liegt daran, dass du die einzelnen WHERE-Klauseln nicht sinnvoll zusammengefasst hast

die per AND verbundenen Teile wirken "zusammen", während OR diese Verbindung aufhebt und separat betrachtet wird .
du müsstest also die 3 Teile, die per OR verbunden sind einmal per Klammer zusammenfassen
nach dem Muster
where a and b and (c or d or e) AND f .....

eventuell musst du im mysql-Handbuch mal die Operator-Präzedenz nachschlagen, es kann sogar sein, dass OR dein IN beeinflußt und du demzufolge nochmal klammern musst

ansonsten hilft es in solchen Fällen fast immer ,wenn du dein Script die Abfrage mit Werten befüllen lässt und dann AUSGIBST (DIE ABFRAGE !!)-

die Ausgabe im Browserfenster wird kopiert und im SQL-Fenster von phpmyadmin ausgeführt ...
__________________

Wer LESEN kann, ist klar im Vorteil!

Geändert von eagle275 (19-07-2011 um 15:37 Uhr)
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
Array sortieren und Zuordnung zu einem weiteren Array erhalten webdino PHP Developer Forum 6 17-02-2010 15:19
PHP Select Multiple (String)Array Anstatt Array Elemente Wyveres PHP Developer Forum 0 01-12-2008 12:58
Wieviel gleiche Werte sind im Array im Array? Andre Grimm PHP Developer Forum 2 03-03-2005 11:52
array getimagesize(string file [, array info]) ???? blume PHP Developer Forum 9 11-01-2002 20:27
Array- Elemente anhand des values aus dem array entfernen Thommy PHP Developer Forum 12 30-10-2001 19:05

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

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
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
 Alle PHP Scripte anzeigen

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