Toon posts:

[Mysql] Voert gegeven tóch in

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik met m'n script bepaalde gegevens in wil voeren, in bijvoorbeeld twee int(3)-velden en twee varchar() velden, dan werkt dit goed. Als ik echter voor de int-velden een string van karakters meegeef, dan worden deze niet ingevoerd, maar wordt er '0' in de database gezet. Wat ik wil is dat mysql met een foutmelding komt dat er een verkeerd type ingevoerd wordt. Hoe werkt dit?

Ik kan natuurlijk wel met php gaan bekijken of een ingevoerde waarde een integer of een varchar is, maar dit moet toch ook met mysql zelf kunnen? Vanwaar de data-type velden?

[ Voor 21% gewijzigd door Verwijderd op 25-02-2004 11:06 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
in dit topic van ACM staat een hoop informatie over de dingen die MySQL allemaal wel en niet kan...

Een poging de magie rond MySQL te verwijderen :)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Omdat je zo lekker duidelijk bent met je openingspost (relevante code en de taal waarin je werkt enzo) zal ik even net zo duidelijk zijn met een antwoord:

De string wordt geinterpreteerd, en cast deze waarschijnlijk naar een integer. Omdat je string geen (correcte) waarde vertegenwoordigt, wordt 0 ingevoerd. Oplossing: controleer zelf even of de waarde die je wil invoeren een geldige integer is...

My personal website


Verwijderd

Topicstarter
De waarde die ik in wil voeren is van het type INT. Met andere woorden: een input veld waar ik allemaal cijfers invoer. Als ik hier echter een paar karakters invoer, dan zet mysql deze om in een 0.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Zoals ik al zei:
Oplossing: controleer zelf even of de waarde die je wil invoeren een geldige integer is...

My personal website


Verwijderd

Topicstarter
Ik wil het zelf wel met php controleren, maar waarom moeilijk doen als het ook makkelijk kan? Ik wéét dat mysql deze controle uit kan voeren, hier kan ik dan toch ook gebruik van maken?

edit
Laat maar, ik was vergeten om de quotes weg te halen binnen het insert-statement bij de INT-velden.

dom

[ Voor 26% gewijzigd door Verwijderd op 25-02-2004 11:34 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

lekker SQL code injecteren, ook leuk :Y)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1