Base de données WordPress insert() et update() - à l'aide des valeurs NULL
WordPress est livré avec le wpdb
classe qui gère les opérations CRUD. Les deux méthodes de cette classe qui m'intéresse sont les insert()
(le C de CRUD) et update()
(le U de CRUD).
Un problème se pose lorsque je veux insérer une valeur NULL dans une colonne de base de données mysql - le wpdb
classe échappe PHP les variables nulles à des chaînes vides. Comment puis-je dire à WordPress d'utiliser une réelle MySQL NULL
au lieu de MySQL chaîne?
OriginalL'auteur leepowers | 2010-04-08
Vous devez vous connecter pour publier un commentaire.
Si vous le souhaitez, compatible, vous devez démontrer la COLONNE et de déterminer à l'avance si une valeur NULL est autorisé. Si elle a permis ensuite si la valeur est vide($v) l'utilisation val = NULL dans la requête.
Comment est-ce?
C'est à peu près la seule solution mis à part de changer la valeur NULL/vide sémantique de mon plugin.
Merci pour l'accepter.
OriginalL'auteur Brant Messenger
Voici une solution à votre problème. Dans "wp-content" le dossier, créez un fichier nommé "db.php" et de mettre ce code:
De cette façon, vous pouvez utiliser les valeurs null avec wpdb!
OriginalL'auteur Niente
J'ai trouver ceci sur WordPress StackExchange forum et il fonctionne très bien pour moi.
et la fonction wp_db_null_value est:
Parce que dans mon cas je ne peux pas utiliser $db->prepare() de la fonction...
OriginalL'auteur defro
J'ai essayé de modifier l'une des autres solutions proposées ici, parce qu'il a entraîné dans le format de la matrice de décalage avec le tableau de données, mais a échoué.
Voici une solution qui modifie la wpdb à partir de la dernière version de wordpress, afin de permettre l'insertion et la mise à jour des valeurs null dans les tables SQL à l'aide de l'insert() et update():
Insérez ce code dans un endroit qui reçoit toujours, comme la votre functions.php et ensuite utiliser votre nouveau global $wpdb_allowed_null->insert() et ->update() comme d'habitude.
J'ai préféré cette méthode vs remplaçant la valeur par défaut $wpdb, afin de préserver la DB comportement que le reste de WordPress et autres plugins s'attendre.
OriginalL'auteur Steve Lee