Korzystam z bazy danych postgresql, ale używam poradników z mysql i w razie błedów zapytań staram się poszukać informacji w google.
W poniższym przypadku trafiłem na nadmiar informacji i tutaj poproszę o pomoc. Przedstawię najlepiej cały kod z zakomentowaniem linijek dających błąd, to będzie mówić samo za siebie i więcej niż moje amatorskie wyjaśnienie.
Jest to mój pierwszy projekt bazy danych/php i za krytyczne uwagi będę wdzięczny (varchary nie są skonfigurowane).
<?php
require "db_conf.php";
require "db_connect.php";
$create_users_table = pg_query('CREATE TABLE users ( id_user BIGINT NOT NULL, //w tym wypadku nie SERIAL bo dla zwykłego usera bedzie korzystanie z konta facebook
money FLOAT DEFAULT '0',
name VARCHAR(20) DEFAULT 'none',
mail VARCHAR(20) DEFAULT 'none',
PRIMARY KEY (id_user)
)');
$create_companies_table = pg_query('CREATE TABLE companies ( login VARCHAR(20) NOT NULL, //też nie SERIAL, tylko login na pr.key, poniewaz wiekszosc zapytan bedzie szukac po loginie
company_name VARCHAR(20) NOT NULL,
regon VARCHAR(20) NOT NULL,
nip VARCHAR(20) NOT NULL,
krs VARCHAR(20) DEFAULT 'none',
director VARCHAR(20) NOT NULL,
adress VARCHAR(20) NOT NULL,
city VARCHAR(20) NOT NULL,
state VARCHAR(20) NOT NULL,
phone VARCHAR(20) NOT NULL,
mail VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL,
money FLOAT DEFAULT '0',
active BOOL DEFAULT '0',
PRIMARY KEY (login)
)');
$create_products_table = pg_query('CREATE TABLE products ( id_product BIGINT SERIAL NOT NULL, //bigint bo moze byc z czasem cala masa produktów/ jest cos takiego jak unsigned w cpp?
login_seller VARCHAR(20) NOT NULL,
normal_price FLOAT NOT NULL,
promotion_price FLOAT NOT NULL,
product_name VARCHAR(20) NOT NULL,
description text NOT NULL,
product_city VARCHAR(20) NOT NULL,
start_date VARCHAR(20) NOT NULL,
day_count INT NOT NULL,
photo VARCHAR(20) NOT NULL,
PRIMARY KEY (id_product),
KEY (login_seller) //blad tutaj przy zapytaniu
)');
$control_table = pg_query('CREATE TABLE control ( //ta tabela kotroluje jaki user, jaki produkt zakupil id_user BIGINT NOT NULL,
id_product BIGINT NOT NULL,
date VARCHAR(16) NOT NULL
INDEX ('id_user','id_product') //blad tutaj przy zapytaniu
)');
?>
Ten post edytował Xenom 18.04.2012, 12:27:34