Avatar
Paranormal
Redaktor
Avatar
Paranormal:

Hledal sem na internetu a nemůžu najít nic co by vypadalo funkčně.. Potřeboval bych nějakou podmínku aby se zjistilo jestli existuje tabulka v databázi a když neexistuje tak jí vytvořit. Díky :)

Odpovědět 24. dubna 14:04
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

pouziva se neco jako: CREATE TABLE table_name IF NOT EXIST

 
Nahoru Odpovědět 24. dubna 14:12
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Taskkill
Taskkill:

edit: (protoze ten limit je na me proste kratkej)

CREATE TABLE IF NOT EXISTS table_name

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět 24. dubna 14:18
Avatar
Paranormal
Redaktor
Avatar
Paranormal:
CREATE TABLE IF NOT EXIST table_name
(
id int AUTO_INCREMENT,
name varchar(255),
password varchar(255),
PRIMARY KEY (id);
);

Takže třeba tak nějak? :)

Nahoru Odpovědět 24. dubna 14:30
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

Ja verim, ze ano... zkus a kdyztak sdel dojmy :)

 
Nahoru Odpovědět 24. dubna 14:41
Avatar
mixxy
Člen
Avatar
mixxy:

Bacha na syntax: if not existS

Nahoru Odpovědět  +1 24. dubna 15:01
Neni dulezite mnoho vedet a znat. Dulezite je vedet, co je treba.
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na mixxy
Taskkill:

to je fakt, ja presne tuhle chybu editoval v druhem prispevku

 
Nahoru Odpovědět 24. dubna 15:03
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:
public static function connect($host, $user, $pass, $database)
    {
        if (!isset(self::$connection))
        {
            try
            {
                self::$connection = new PDO("mysql:host=$host;dbname=$database", $user, $pass, self::$settings);

                $create_table = 'CREATE TABLE IF NOT EXIST users
                (
                user_id int (5) AUTO_INCREMENT,
                name varchar(255),
                password varchar(255),
                PRIMARY KEY (user_id);
                )';
                self::$connection->exec($create_table);

            }


            catch(PDOexception $e)
            {
                echo('Connection fail: ' . $e->getMessage());
            }

        }
    }

Connection fail: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'EXIST table_name ( user_id int (5) AUTO_INCRE' at line 1

Nefunguje to. Nevím proč :(

Nahoru Odpovědět 24. dubna 15:10
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

je tam if not exist ma tam byt existS (Mixxy na to upozornil, a ja jsem stejnou chybu udelal v prvnim prispevku... ve druhem jsem se opravil, ale to uz asi bylo pozde)

 
Nahoru Odpovědět 24. dubna 15:36
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

Já sem si toho vůbec nevšiml. Sem zbrklej.. Díky moc :) všem

Nahoru Odpovědět 24. dubna 16:23
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.