Versio

Pff, te lang zitten staren...

Overzicht Reageren

Milo S

Milo S

16/01/2012 17:39:34
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
$sql =
"
INSERT INTO order
(
    user_id,
    dateTime
)
VALUES
(
    '1',
    '0000-00-00'
)
";


Nou jongens, ik zit nu al zo lang te staren op het probleem hier. Misschien dat iemand het ziet? Ik ben het helemaal kwijt. Vind het gewoon niet. Wie verlost mij van me lijden.
 
PHP hulp

PHP hulp

25/05/2012 09:58:49
Gesponsorde koppelingen:
 
PHP Jasper

PHP Jasper

16/01/2012 17:40:38
Quote Anchor link
Misschien ligt het aan "dateTime" gereserveerd woord?
 
Merijn Venema

Merijn Venema

16/01/2012 17:40:46
Quote Anchor link
user_id = "1", een INT is geen string en heeft dus geen quotes nodig. ( er vanuitgaande dat je user_id in je DB dus van het type INT is )
 
PHP Jasper

PHP Jasper

16/01/2012 17:41:33
Quote Anchor link
@Merijn, dat zou geen probleem mogen geven?
Gewijzigd op 16/01/2012 17:41:51 door PHP Jasper
 
- Aar -

- Aar -

16/01/2012 17:42:04
Quote Anchor link
Ik zet in op Japer.
 
Chris
Beheerder

Chris

16/01/2012 17:42:15
Quote Anchor link
Milo, order is een gereserveerd woord in MySQL. Gebruik hier backticks voor om het te overrulen, of maak een betere opzet ;)

Toevoeging op 16/01/2012 17:42:47:

Zet jullie weddenschappen maar op mij ;)
 
PHP Jasper

PHP Jasper

16/01/2012 17:44:26
Quote Anchor link
+1 chris :) ik zat toch al min of meer juist ;)
 
Merijn Venema

Merijn Venema

16/01/2012 17:46:04
Quote Anchor link
als je velden hebt met het type INT of double of float of noem maar op, kun je er niet iets anders inzetten. Toegegeven een int kun je wel kwijt in een double, maar een double in een int wordt al lastig, als het toegelaten wordt wordt het afgerond naar beneden. dus 0.99999 wordt 0.

Een '1' wordt niet magisch een 1.

Maar ook ik zet nu hoge ogen op de reserved keywords, heb er glad overheen gekeken namelijk. Order alsook datetime zijn gereserveerde woorden.
 
Chris
Beheerder

Chris

16/01/2012 17:47:34
Quote Anchor link
@Merijn, ben het met je eens. Enige is, MySQL is niet zo strict hierin. pgSQL en andere (fatsoenlijkere) databases zijn een stuk strenger!
 
Merijn Venema

Merijn Venema

16/01/2012 17:49:21
Quote Anchor link
aha, handig om te weten. Heb net even gekeken ook, beide woorden zijn sowieso gereserveerd dus daar loopt ie hoe dan ook al op vast.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql
=
"
INSERT INTO `order`
(
    `user_id`,
    `dateTime`
)
VALUES
(
    1,
    '0000-00-00'
)
"
;
?>
Gewijzigd op 16/01/2012 17:52:04 door Merijn Venema
 
Jacco Brandt

Jacco Brandt

16/01/2012 17:51:58
Quote Anchor link
Als je de foutcode had gelezen (mysql_error()), had je dit hoogstwaarschijnlijk ook geweten.
 
Chris
Beheerder

Chris

16/01/2012 17:53:51
Quote Anchor link
@Merijn; dus eigenlijk zou bijvoorbeeld onderstaande opzet beter zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php $sql = "
INSERT INTO tbl_orders (
    user_id,
    insert_date
)
VALUES(
    1,
    NOW()
);
"
; ?>
 
Merijn Venema

Merijn Venema

16/01/2012 17:57:35
Quote Anchor link
zeer zeker, maar dan moet hij z`n datamodel even aanpassen. Jou voorbeeldje is een stuk eleganter, vereist alleen iets meer werk.
 



Overzicht Reageren

Get Adobe Flash player