Avatar billede hanklitvej Nybegynder
10. september 2006 - 18:24 Der er 3 kommentarer og
1 løsning

Mysql: Create Table

Hej

Jeg har et problem med følgende kode, hvorfor kommer mine data i site_aaa, men tabellen site_kat_$kat bliver ikke oprettet?

*************************************

$sql = 'CREATE TABLE `site_kat_$kat` ('
        . ' `id` INT(11) NOT NULL AUTO_INCREMENT, '
        . ' `titel` VARCHAR(200) NOT NULL, '
        . ' `indhold` LONGTEXT NOT NULL, '
        . ' `datestamp` TIMESTAMP(14) NOT NULL, '
        . ' `sort` INT(4) NOT NULL,'
        . ' UNIQUE (`id`)'
        . ' )';



$sql2 = "INSERT INTO `site_aaa` (`kat`, `sort`, `titel`, `titel_link`, `link`)
    VALUES ('site_kat_$kat', '$sort', '$titel', '$titel_link', '$link')";

mysql_query($sql2);
mysql_query($sql);

***************************************
Avatar billede pidgeot Nybegynder
10. september 2006 - 18:34 #1
Det er vist meningen at $kat skulle erstattes af en variabel, ikke? Så skal den første linie se sådan ud, eftersom strengen er i apostroffer:

$sql = 'CREATE TABLE `site_kat_'.$kat.'` ('
Avatar billede pidgeot Nybegynder
10. september 2006 - 18:41 #2
Andre ting der lige er værd at nævne:

1) Hvis en kolonne er auto_increment, skal den være PRIMARY KEY, så du bør nok skrive det i stedet for UNIQUE (tror ikke MySQL selv implicerer det).
2) Det lader til du opretter en tabel pr. kategori, til trods for at strukturen er identisk i dem. Normalt vil det være noget nemmere at administrere og arbejde med hvis du i stedet nøjes med en enkelt tabel der så har et ekstra felt til at angive kategorien.
Avatar billede hanklitvej Nybegynder
10. september 2006 - 20:50 #3
tak det hjalp med "$sql = 'CREATE TABLE `site_kat_'.$kat.'` ('"

Havde troet når 'site_kat_$kat' virker som value, ville det også virke det andet sted.

Skriv et svar og du får point :=)
Avatar billede pidgeot Nybegynder
10. september 2006 - 22:48 #4
Forskellen er at dine apostroffer i $sql2-linien angiver strenge for MySQL, ikke PHP - det er kun de yderste der gør det, altså "erne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester