J'ai une page qui importe des champs d'un fichier csv et les importe dans ma base de données. Avant que les champs peuvent être importés dans ma base de données, je dois séparer le champ de nom en deux valeurs séparées (prénom & nom de famille). Je le fais comme ceci:Comment définir une valeur par défaut pour une chaîne?
$name = $order[5];
$fname = sqlSafe(trim(substr($name, 0, strrpos($name, " "))));`
$lname = sqlSafe(trim(substr($name, strrpos($name, " "))));`
Cela semble fonctionner assez bien, mais parfois le champ de nom a été laissé partiellement complet (ils sont entrées dans seulement leur prénom ou le nom par exemple). Cela donne $ fname étant vide et mysql ne me permettra pas de définir une valeur par défaut pour une colonne BLOB/TEXT.
Pour résoudre cela, je l'ai essayé quelques if
déclarations dont:
if (!$fname) {$fname = "(blank)";}
if ($fname = "") {$fname = "(blank)";}
if ($fname = NULL) {$fname = "(blank)";}
Aucun qui semblent l'attraper. Où vais-je mal?
Pouvez-vous mettre la partie suivante du code où vous enregistrez vos données dans la base de données? Peut-être que vous oubliez les guillemets dans les instructions SQL. – Holt
'sqlSafe' semble un peu suspect, n'oubliez pas de [suivre ce] (http://stackoverflow.com/a/60496/2864740). – user2864740