Avatar
Paranormal
Redaktor
Avatar
Paranormal:24.4.2016 14:04

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.4.2016 14:04
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Paranormal
Taskkill:24.4.2016 14:12

pouziva se neco jako: CREATE TABLE table_name IF NOT EXIST

 
Nahoru Odpovědět 24.4.2016 14:12
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Taskkill
Taskkill:24.4.2016 14:18

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.4.2016 14:18
Avatar
Paranormal
Redaktor
Avatar
Paranormal:24.4.2016 14:30
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.4.2016 14:30
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Paranormal
Taskkill:24.4.2016 14:41

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

 
Nahoru Odpovědět 24.4.2016 14:41
Avatar
mixxy
Člen
Avatar
mixxy:24.4.2016 15:01

Bacha na syntax: if not existS

Nahoru Odpovědět  +1 24.4.2016 15:01
Neni dulezite mnoho vedet a znat. Dulezite je vedet, co je treba.
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na mixxy
Taskkill:24.4.2016 15:03

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

 
Nahoru Odpovědět 24.4.2016 15:03
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:24.4.2016 15:10
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.4.2016 15:10
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Nahoru Odpovědět 24.4.2016 15:18
Go hard or go home!
Avatar
Taskkill
Šéfredaktor
Avatar
Odpovídá na Paranormal
Taskkill:24.4.2016 15:36

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.4.2016 15:36
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:24.4.2016 16:23

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

Nahoru Odpovědět 24.4.2016 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.