heb ik alles?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Ozzie PHP

Ozzie PHP

31/05/2013 21:09:42
Quote Anchor link
Hoi mensen,

Bij het binden van values aan een query heb ik mijn database class nu zo gemaakt dat ik de volgende types kan binden:

- string
- integer
- decimal
- null
- boolean

Ik had eerst ook het type float, maar ik denk dat ik dat nooit nodig zal hebben (ik zou niet weten waarvoor), dus dat laat ik vervallen.

Ik vraag me af ik nu alle mogelijke types heb. Moet ik voor datam/tijd ook nog een apart type maken vraag ik me af? En zo ja, hoe moet je een datum/tijd doorgeven in mysql. Als een string?

Ik hoop dat iemand het antwoord weet.
 
PHP hulp

PHP hulp

17/11/2024 19:31:27
 
Lord Gaga

Lord Gaga

31/05/2013 21:40:48
Quote Anchor link
http://php.net/manual/en/language.types.type-juggling.php

Als je een klein stukje naar beneden scrollt zie je een klein lijstje met datatypes, volgens mij zijn dat ze allemaal.

En als je het volgende uitvoert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo gettype(date('Y'));
?>


Dan geeft dat (als het goed is) 'string' weer, dus het lijkt mij dat data en tijd gewoon een string is.
 
Ozzie PHP

Ozzie PHP

31/05/2013 21:58:15
Quote Anchor link
Thanks!

Maar houdt dit automatisch in dat het datatype voor een datum altijd een string is. (En is dit in iedere database interface zo?)

Als ik hier kijk: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-type-overview.html dan zie ik dat alle datatypes een string zijn, maar het datatype YEAR is volgens mij een integer? Klopt dat?

En als dit inderdaad klopt, is dan de conclusie dat alles wat met datums en tijd te maken heeft, gezien wordt als een string, behalve YEAR?
 
Lord Gaga

Lord Gaga

31/05/2013 22:06:53
Quote Anchor link
Ik heb eerlijk gezegd geen idee..

Mij werd altijd verteld dat als je niet met het getal hoeft te rekenen, het een string is en anders een 'getal' (int, double, real, float, en welke er nog meer mogen zijn).

In principe zou YEAR dan een integer zijn. (YEAR is ook altijd een uniek getal aangezien een jaar maar 1x voorkomt, je zou dus 2013 (het jaar 2013) - 10 (jaren) kunnen doen. Met maanden en dagen kan dit niet want dan zou je dingen als 1 (januari) - 2 (maanden) (= november) kunnen doen, dus dat lijken mij dan strings..)
 
Ozzie PHP

Ozzie PHP

31/05/2013 22:23:38
Quote Anchor link
Hmm, oke.. zou inderdaad kunnen wat je zegt. Mocht iemand nog iets willen toevoegen hoor ik het graag.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

01/06/2013 09:21:22
Quote Anchor link
om een datum te noteren kun je verschillende manieren gebruiken.

wat dacht u van een string, een array of een (lange) integer:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$datum
= '2013-12-31'; // string, ook de manier bij mysql
echo $datum.'<br/>';

$datum = time(); // integer (aantal seconden vanaf 1-1-1970)
echo $datum.'<br/>';

$datum = getdate(); // array
print_r($datum);
?>


Toevoeging op 01/06/2013 09:27:30:

een float trouwens ga je vroeg of laat wel makkelijk vinden. ik zou hem er direct bij zetten.
 
Joakim Broden

Joakim Broden

01/06/2013 12:12:53
Quote Anchor link
Mag ik vragen waarom je types wilt binden of dergelijke? Alles in de een MySQL database word opgeslagen als een string, als je een integer in de database zet en hem er weer uit haalt is het een string volgens mij.
 
Ozzie PHP

Ozzie PHP

01/06/2013 15:03:33
Quote Anchor link
@Frank: oké, maar als ik het in de database wil zetten, dan zou ik dus gebruik maken van een string of een integer.

Frank Nietbelangrijk op 01/06/2013 09:21:22:
een float trouwens ga je vroeg of laat wel makkelijk vinden. ik zou hem er direct bij zetten.

done... (heb je een voorbeeldje van wanneer jij een float hebt gebruikt?)

@Hertog: bij PDO kun je (bij prepared statements) aangeven om wat voor data type het gaat. Niet alles in MySQL wordt opgeslagen als string. Denk aan bijv INT, TINYINT, FLOAT, DECIMAL. PDO kent speciale parameters om een waarde op de juiste manier te binden:

PDO::PARAM_INT
PDO::PARAM_STR
PDO::PARAM_BOOL
PDO::PARAM_NULL
PDO::PARAM_LOB (large object)

Door aan te geven om wat voor type het gaat, is PDO in staat om het op de juiste manier te binden.

Of het ehlpt, geen idee... maar ik ga er vanuit dat die types er niet voor niets zijn en dus op een of andere manier een meerwaarde opleveren.
Gewijzigd op 01/06/2013 15:05:52 door Ozzie PHP
 
Joakim Broden

Joakim Broden

02/06/2013 16:45:57
Quote Anchor link
Oh? Ik voer mijn gegevens als een integer in een tabel (INT type) en haal het er weer uit en dan is het een string ipv integer.
Gewijzigd op 02/06/2013 16:46:31 door Joakim Broden
 
Ozzie PHP

Ozzie PHP

02/06/2013 16:53:26
Quote Anchor link
Ik ben er ook niet zo in thuis... maar je stelt je datatype in op INT. En bij PDO kun je dan aangeven dat het om een INT gaat en dan optimaliseert ie de waarde daarvoor. Zou goed kunnen dat alles er als string uitkomt hoor.

Zie data type: http://php.net/manual/en/pdostatement.bindvalue.php

En hier de PDO::PARAM_XXX constants: http://php.net/manual/en/pdo.constants.php
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.