Wie überprüfen Sie, ob die Objekteigenschaft explizit festgelegt ist (sogar auf NULL!)Php

PHP-Programmierer chatten hier
Anonymous
 Wie überprüfen Sie, ob die Objekteigenschaft explizit festgelegt ist (sogar auf NULL!)

Post by Anonymous »

Nehmen wir an, ich habe das einfache Objekt wie folgt: < /p>

Code: Select all

class User
{
public id;
public name;
public surname;
public gender;
public age;
}
< /code>

In meinem Code möchte ich eine dynamische Aktualisierungsanweisung für ein solches Objekt gemäß den festgelegten Eigenschaften erstellen. [url=viewtopic.php?t=14917]Ich möchte[/url] also, dass mein Update auf (Übertragung in die Datenbank) und nur Spalten geändert wird, die geändert wurden. Wenn eines der Eigenschaften des Benutzers nicht festgelegt ist, sollte diese Eigenschaft nicht als DB -Spalte in der Aktualisierungsanweisung aufgenommen werden. 

Wenn ich beispielsweise das Objekt des Benutzer 
erstelle und nur ID , Name und Nachname festlegen (

Code: Select all

age
und Geschlecht uneingestaltet lassen)

$User=new User();
$User->id=1;
$User->name='Bob';
$User->surname='Geldof';
< /code>

Aus diesem Objekt sollte mein Code eine Aktualisierungsanweisung wie folgt erstellen: < /p>

UPDATE users SET name='Bob',surname='Geldof' WHERE id=1
< /code>

Das Problem ist, wenn eine Spalte in der Datenbank Nullwerte haben kann (wie zum Beispiel Alter < /code>). In diesem Fall sollte ich in der Lage sein, diese Spalte in der Datenbank zu null. Dort sollte ich prüfen, ob die Eigenschaft der Benutzerobjekte explizit auf NULL eingestellt ist. Wenn es auf NULL eingestellt ist, sollte die Aktualisierungsanweisung mit: < /p>

zurückzuführen seinUPDATE users SET name='Bob',age=NULL WHERE id=1
< /code>

Es gibt jedoch keine Möglichkeit zu testen, ob die Eigenschaft festgelegt ist, aber auf Nullwert eingestellt ist! auf den NULL -Wert einstellen (nicht 'NULL' String)?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post