table maken met phpMyAdmin

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sasa

sasa

24/03/2007 10:52:00
Quote Anchor link
Als ik met phpMyAdmin een tabel wil maken, krijg ik altijd deze fout, maar hoe komt dat?



Fout

SQL-query:

CREATE TABLE `sites` (
`personID` INT( 111 ) NOT NULL ,
`site` SET( 222 ) NOT NULL ,
`ond` SET( 333 ) NOT NULL ,
`hosting` SET( 111 ) NOT NULL ,
`hostprijs` SET( 111 ) NOT NULL ,
`user` SET( 111 ) NOT NULL ,
`pass` SET( 111 ) NOT NULL ,
`ftp` SET( 111 ) NOT NULL ,
`client` SET( 333 ) NOT NULL ,
`opm` SET( 444 ) NOT NULL ,
`prijs` SET( 111 ) NOT NULL ,
`datum` VARCHAR( 111 ) NOT NULL
) ENGINE = MYISAM

MySQL retourneerde: Documentatie
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '222) NOT NULL, `ond` SET(333) NOT NULL, `hosting` SET(111) NOT NULL, `hostprijs`' at line 1
 
PHP hulp

PHP hulp

20/11/2024 00:12:09
 
Joren de Wit

Joren de Wit

24/03/2007 11:16:00
Quote Anchor link
De syntax van je query klopt niet. Kijk hier eens hoe je dat wel zou moeten doen.

Maar, ik snap bovendien niet waarom je SET gebruikt als datatype. Wat is er mis met een VARCHAR voor een string een in INT voor een integer. Met SET beperk je de input die in een kolom mag komen, namelijk met vooraf ingestelde waarden. En het lijkt me dat dat niet de bedoeling moet zijn!

Een laatste punt: de enige plaats waar je wel een VARCHAR gebruikt is nou net weer verkeerd! Een datum sla je gewoon op in een DATE veld. Lees de mysql handleiding er ook nog eens op na, en dan voor het hoofdstuk over datatypes.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Sasa

sasa

24/03/2007 11:30:00
Quote Anchor link
Als ik varchar gebruik krijg ik hetzelfde:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '111) NOT NULL, `hostprijs` VARCHAR(111) NOT NULL, `user` VARCHAR(111) NOT NULL, ' at line 1
 
Joren de Wit

Joren de Wit

24/03/2007 11:38:00
Quote Anchor link
Hoe ziet je query er nu uit dan?
 
Sasa

sasa

24/03/2007 11:43:00
Quote Anchor link
Ja, sorry, ik heb het allemaal met varchar gedaan, en nu werkt het toch!
Alleen voor de datum (dat is nu DATETIME) , heb ik

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$datum
=date("y-m-d H:i:s");
echo "<input type=\"hidden\" name=\"datum\" value=\"$datum\" />";
?>


.. in het form staan, maar dat geeft in de database
0000-00-00 00:00:00

Hoe kan ik de datum juist maken?
 
Joren de Wit

Joren de Wit

24/03/2007 11:47:00
Quote Anchor link
Als je de huidige datum in wilt voeren in een database gebruik je gewoon het commande NOW().
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
INSERT INTO tabel (datumtijdveld)
VALUES (NOW())

Geen tussenkomst van PHP dus meer!

ps. Alles VARCHAR zeg je? Maar personID, hostingprijs en prijs zijn toch geen strings?! Gebruik gewoon het juiste datatype voor bepaalde gegevens. personID hoort in een INT en een prijs zou ik zelf opslaan in een DECIMAL.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 



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.