Sven Rautenberg: NULL-Marke einfügen

Beitrag lesen

Moin!

Und bei der Einordnung des Problems. Bemühe Dich, klar zu trennen. Wenn es ein SQL-Problem ist, hat PHP-Code darin genauso wenig zu suchen, wie bei HTML-, CSS- oder JavaScript-Problemen.

Verständlich. Vielleicht wäre die beste Einordnung PHP+MySQL oder PHP+SQL gewesen. IMHO gibt es diese Kategorie nicht.

Du hast den Einwand nicht verstanden.

Entweder hast du ein SQL-Problem, weil dein SQL-Query nicht das tut, was du willst. Dann ist "Datenbank" die richtige Kategorie.

Oder du hast ein PHP-Problem, weil PHP nicht tut, was du willst - beispielsweise einen SQL-Query herstellen. Dann ist "PHP" die richtige Kategorie.

Im ersten Fall ist für die Betrachtung ausschließlich SQL-Code relevant, im zweiten Fall ausschließlich der PHP-Code.

Dein angenommenes Schnittstellenproblem unter der Kategorie "Mit PHP generiere ich ja SQL" mußt du trennen in "Welches SQL benötige ich" und "Wie kriege ich PHP dazu, das benötigte zu generieren.

Ein Teil meines Ursprungspostings beruhte auf der Frage nach der Existenz einer parametrisierten Übergabe von Variablen in Mysql.

MySQL kennt keine Variablen, jedenfalls nicht in dem Sinne, wie du es hier vermutest.

Wenn du in deine Datenbank NULL ins Feld schreiben willst, muß der relevante SQL-Code so aussehen:

... SET feld = NULL ...

Wenn du einen String ins Feld reinschreiben willst, muß der SQL-Code so aussehen:

... SET feld = 'feldinhalt' ...

Das ist die SQL-Seite deines Problems.

Jetzt kommt die PHP-Seite.

Erstes Problem: Wie weißt du, dass du NULL in das Feld schreiben willst?

Zweites Problem: Wie kriegst du es hin, bei dem Bedarf nach NULL den SQL-String nach Schema 1, andernfalls nach Schema 2 zusammenzubauen? Antwort: Verzweigung mit IF oder dem ternären Operator.

Cheatah hatte lediglich extrem deutlich gemacht, dass diese Sichtweisenunterscheidung extrem hilfreich ist, das Problem zu lösen - immer schön getrennt nach Programmiersprachenbezirk, zuerst feststellen, was "innen" gebraucht wird, damit man dann das "außenrum" so gestaltet, dass es das gewünschte Innere korrekt herstellt.

- Sven Rautenberg

--
"Love your nation - respect the others."