Avatar billede dulius Nybegynder
28. november 2007 - 10:10 Der er 1 løsning

Indsæt MySQL NULL-værdi i prepared query

Hej,

Har smidt en lille kodestump op på http://pastebin.org/9683 - det er en prepared query (mysqli).

Den virker fint, så længe jeg indsætter nogle værdier. Mit problem er, at i tilfælde hvor $name ikke indeholder noget, så skal der indsættes MySQL's NULL-værdi i stedet for en egentlig værdi.

Dette kan selvfølgelig ikke lige klares ved bare at skrive $stmt->bind_param('is', $user_id, 'NULL'), da NULL så bliver indsat som streng i stedet for som NULL-værdi.

Jeg har fundet én måde at gøre det på, og det er simpelthen ved at sige $sql = '... VALUES (?, NULL)' i stedet for $sql = '... VALUES (?, ?)' - men dette er jo ikke særlig dynamisk, da jeg skal lave to forskellige prepared queries alt efter betingelserne - og jeg har queries hvor der indsættes 15+ felter, så der skal pludselig laves temmelig mange forskellige queries, hvilket er pænt skod.

Jeg kan komme udenom det ved at lave det som almindelige queries i stedet for prepared queries, men hvis muligt så vil jeg meget gerne holde mig til sidstnævnte.

Nogen forslag til at behændig måde at håndtere det på?

På forhånd tak.

Mvh.

Julius
Avatar billede dulius Nybegynder
28. november 2007 - 17:13 #1
Har fundet løsningen nu.

Man skulle åbenbart bare sige $name = null; inden man binder den til prepared query, så kører det som smurt!

Tråden er lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester