PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQL/MySQLi (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   mySQL Abfrage funktioniert plötzlich nicht mehr (http://www.selfphp.de/forum/showthread.php?t=26026)

kraibi 29.06.2017 15:51:03

mySQL Abfrage funktioniert plötzlich nicht mehr
 
Hallo!

Vielleicht kann mir hier jemand helfen.

In meiner Datenbank (PHP-mySQL) habe ich seit Jahren eine Abfrage die immer funktioniert hat.
Ich habe an der DB nichts geändert, aber seit heute kommt eine "0" statt dem richtigen Ergebnis.

Hier die Abfrage:

Zitat:

SELECT COUNT(*) AS anzahl FROM teststellung t INNER JOIN (SELECT MAX(b.tID) AS maxID FROM teststellung b GROUP BY b.tnummer) AS c ON c.maxID = t.tID WHERE t.tnummer NOT IN (SELECT x.tnummer FROM teststellung x WHERE x.tstatus = 0) AND t.tnummer > 0 ORDER BY t.tnummer

Zur Erklärung: Ich habe eine Tabelle in der "Teststellungen" tID angelegt werden. Den "Teststellungen" werden dann eine "Musterware" tnummer zugeordnet. Die Musterware kann mehrmals einer Teststellung zugeordnet werden. Bis es die Musterware nicht mehr gibt. Das ist dann am tstatus ersichtlich.

Mit der Abfrage Zähle ich, wie viele Muster es tatsächlich noch gibt. Es kam bis gestern immer das richtige Ergebnis raus. Seit heute "0".

Übrigens: Wenn ich die "NOT IN" Klausel raus nehme, kommt ein Wert raus, der allerdings nicht stimmt.

Es sind übgrigens fast 6000 Datensätze in der Tabelle. Die Abfrage dauern entsprechend lange, ca. 13 Sekunden.

Wenn hier jemand einen Tipp hat, wäre ich echt froh.

Beste Grüße
Günther

chorn 29.06.2017 16:01:27

AW: mySQL Abfrage funktioniert plötzlich nicht mehr
 
und aus den Subselects kommt raus was du willst und was die Abfrage drumherum auch verarbeiten kann?

kraibi 29.06.2017 16:03:25

AW: mySQL Abfrage funktioniert plötzlich nicht mehr
 
Jeder einzelne SELECT funktioniert alleine für sich, aber in der Kombination geht es plötzlich nicht mehr.

vt1816 29.06.2017 16:51:58

AW: mySQL Abfrage funktioniert plötzlich nicht mehr
 
Hat sich am Inhalt der beteiligten Datenbanktabellen etwas geändert? Wurde in einem angesprochenen Feld ein falscher/nicht erwarteter Wert (zum Beipiel NULL) eingetragen?

Ansonsten wäre es hilfreich, wenn Du die Tabellenstruktur und ein paar aussagekräftige Beispieldatensätze - bitte gleich in maschinenlesbarer Form - posten würdest. Damit läßt sich Dein Problem dann besser nachvollziehen.

meissnerthomas 16.09.2017 21:42:56

AW: mySQL Abfrage funktioniert plötzlich nicht mehr
 
Hallo,

ich habe ein ähnliches Problem. Eine Abfrage, welche lediglich alle Einträge für einzelne Jahre ausgeben sollte funktioniert plötzlich nicht mehr. Die Abfrage hat allerdings problemlos mehrere Jahre funktioniert.
Ich schiebe das Versagen auf die Umstellung zu PHP 7 (ca. Juni17), allerdings ist mir der Fehler erst jetzt aufgefallen.

Das = (= $a) funktioniert nicht mehr. Habe meine Abfrage über einen kleinen Umweg wieder zum Laufen gebracht.

Script, was plötzlich versagt hatte:
PHP-Code:

$a "2010";
while(
$a "2050")
   {  
$abfrage "SELECT * FROM news WHERE STR_TO_DATE(Datum, '%d.%m.%Y' ) = $a ORDER BY STR_TO_DATE(Datum, '%d.%m.%Y' ) DESC";
... 

Lösung, damit die Abfrage wieder funktioniert:
PHP-Code:

$a "2010";
while(
$a "2050")
   {
   
$b $a 1;

$abfrage "SELECT * FROM news WHERE STR_TO_DATE(Datum, '%d.%m.%Y' ) >= '$a' AND STR_TO_DATE(Datum, '%d.%m.%Y' ) < '$b' ORDER BY STR_TO_DATE(Datum, '%d.%m.%Y' ) DESC";
... 

Da das = nicht mehr funktioniert bin ich auf >= und dergleichen ausgewichen...

Vielleicht hilft der Hinweis, vielleicht kann jemand die Thematik erklären.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:02:37 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.