---
title: "\"IS NULL\" Abfrage in php"
url: "https://www.typo3.net/d/56689-is-null-abfrage-in-php"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2007-01-23"
last_reply: "2007-01-29"
replies: 9
solved: false
page: 1
pages: 1
lang: "de"
---

# "IS NULL" Abfrage in php

Extensions › Entwicklung · 9 Antworten · gestartet 2007-01-23

## Eröffnungsbeitrag

**Perseus85** · 2007-01-23 · [Beitrag #1](https://www.typo3.net/d/56689-is-null-abfrage-in-php/1)

Hallo,

ich hab folgendes Problem:

Ich bin dabei die Modern_Linklist meinen Bedürfnissen etwas anzupassen. Dazu gehört auch, dass in der DB der Wert NULL zugelassen ist(damit sollte Typo doch eigentlich zurecht kommen).

Bis jetzt läuft die Abfrage in der Extension wie folgt:

> $categoryLabelsResults = $GLOBALS['TYPO3_DB']->exec_SELECTquery( '*', $databaseTable, $theField . '=' . $GLOBALS['TYPO3_DB']->quoteStr( $theValue, $databaseTable ) . ' ' . $whereClause, $groupBy, $orderBy, $limit );

Jetzt muss ich beim Auslesen mit PHP natürlich eine Fallunterscheidung machen. Wie verwirkliche ich das ganze nun am besten in PHP?

Wenn die Variable "$theValue" = NULL ist, funktioniert die Abfrage natürlich nicht, da der SQL_Syntax bei NULL wie folgt ist: SELECT * FROM ... WHERE ... IS NULL

Vielen Dank schonmal für die Hilfe.

## Antworten

### [#2](https://www.typo3.net/d/56689-is-null-abfrage-in-php/2) · steffenk · 2007-01-24

```php
$where= $theValue ? $theField . '=' . $GLOBALS['TYPO3_DB']->quoteStr( $theValue, $databaseTable ).' ' : '';
$categoryLabelsResults = $GLOBALS['TYPO3_DB']->exec_SELECTquery( '*', $databaseTable, $where . $whereClause, $groupBy, $orderBy, $limit );
```

### [#3](https://www.typo3.net/d/56689-is-null-abfrage-in-php/3) · Perseus85 · 2007-01-24

Vielen Dank schonmal - ich werd es nachher versuchen...

### [#4](https://www.typo3.net/d/56689-is-null-abfrage-in-php/4) · Perseus85 · 2007-01-24

mmh funktioniert irgendwie noch nicht...

was bedeutet eigentlich das

> .' ' : ''

in $where?

### [#5](https://www.typo3.net/d/56689-is-null-abfrage-in-php/5) · steffenk · 2007-01-25

das gleiche wie

```php
if($theValue)
 $where= $theField . '=' . $GLOBALS['TYPO3_DB']->quoteStr( $theValue, $databaseTable ).' ';
else
  $where= '';
```

### [#6](https://www.typo3.net/d/56689-is-null-abfrage-in-php/6) · Perseus85 · 2007-01-26

Achso - ok dann is klar.

Blöderweise findet das Programm keinen einzigen Eintrag mit NULL in der Spalte ($theField)... obwohl es diese gibt.  #angry#

### [#7](https://www.typo3.net/d/56689-is-null-abfrage-in-php/7) · Perseus85 · 2007-01-28

Also das Problem ist folgendes:

Wenn ich für $theValue eine Zahl eingebe, ließt er aus der Datenbank alle Einträge mit dieser Zahl in der Spalte aus (so soll es ja auch funktionieren).

Wenn $theValue aber NULL ist, dann findet er anscheinend nichts in der DB - obwohl es Einträge mit NULL gibt.

Ich bin mir allerdings auch nicht ganz sicher, was ich $theValue im Falle von NULL zuweisen muss...

```php
$theValue = '';
$theValue = 'NULL';
$theValue = NULL;
```

oder etwas anderes?

### [#8](https://www.typo3.net/d/56689-is-null-abfrage-in-php/8) · steffenk · 2007-01-28

änder doch einfach die DBspalte, in dem du den default-Wert auf 0 setzt.

UPDATE xxx set Spalte=0 where Spalte IS NULL

### [#9](https://www.typo3.net/d/56689-is-null-abfrage-in-php/9) · Perseus85 · 2007-01-29

Das Problem ist, dass Typo3 nicht das einzige Programm ist, dass auf die DB zugreift...

Ich muss das also mit der NULL hinbekommen.

### [#10](https://www.typo3.net/d/56689-is-null-abfrage-in-php/10) · steffenk · 2007-01-29

dann nimm doch einfach

SELECT Spalte+0 FROM ...

---

Quelle: „"IS NULL" Abfrage in php“, typo3.net, https://www.typo3.net/d/56689-is-null-abfrage-in-php
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
