Avatar billede fico Nybegynder
26. august 2001 - 15:21 Der er 32 kommentarer og
2 løsninger

Oprette tabel i MýSQL

Hej

Hvordan for jeg PHP til at oprette en tabel i MySQL.

MVH
Peter Bøgh
Avatar billede Slettet bruger
26. august 2001 - 15:33 #1
Avatar billede daca Nybegynder
26. august 2001 - 15:33 #2
download phpmyadmin
Avatar billede snebold Nybegynder
26. august 2001 - 15:36 #3
Hmm, har samme problem jeg skal have lavet noget \"inset to\" noget men kan ikke finde ud af at gøre det via phpmyadmin,,
Avatar billede daca Nybegynder
26. august 2001 - 15:37 #4
hvis tabellen ikke absolut skal genereres i dit script,??
Avatar billede bhn.314 Nybegynder
26. august 2001 - 17:48 #5
Jeg har samme problem. Det er ikke bare at sende en create-statement til databasen.
Avatar billede wizprod.com Nybegynder
26. august 2001 - 18:29 #6
Dette opretter tabellen, men KUN hvis den ikke er oprettet forvejen!

@mysql_query(\"
CREATE TABLE tagwall (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\")
Avatar billede bhn.314 Nybegynder
26. august 2001 - 18:35 #7
Hvordan bruges den helt præsist i PHP-koden. Er det bare:

function Test($db)
{

@mysql_query(\"
CREATE TABLE tagwall (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\")

}
Avatar billede wizprod.com Nybegynder
26. august 2001 - 18:38 #8
ÆHHMM hvad skal test() kunne??

for ellers er det bare at sætte den kode jeg postee før direkte ind...
Avatar billede bhn.314 Nybegynder
26. august 2001 - 18:39 #9
Den skal kunne kaldes når der er brug for den !
Avatar billede wizprod.com Nybegynder
26. august 2001 - 18:42 #10
Når du har oprettet den én gang, så er den jo oprettet en gang for alle!!
Avatar billede bhn.314 Nybegynder
26. august 2001 - 18:44 #11
Ja, men man kunne jo sende et andet navn med:

function Test($db, $navn)
{
@mysql_query(\"CREATE TABLE $navn (
..........
.....
}
Avatar billede wizprod.com Nybegynder
26. august 2001 - 18:46 #12
function Test($navn)
{

@mysql_query(\"
CREATE TABLE $navn (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\")

}

Hvorfor vil du have $db med?
Avatar billede bhn.314 Nybegynder
26. august 2001 - 18:47 #13
Den skal bruges til noget andet i samme function.
Avatar billede wizprod.com Nybegynder
26. august 2001 - 18:49 #14
oki.... jamen så kan man sagtens gøre sådan
Avatar billede wizprod.com Nybegynder
26. august 2001 - 18:53 #15
fjern evt @-tegnet, da det ikke rigtigt er til nogen nytte nu
Avatar billede bhn.314 Nybegynder
26. august 2001 - 19:13 #16
Tak
Avatar billede wizprod.com Nybegynder
26. august 2001 - 20:15 #17
husk at lukke spm\'et!
Avatar billede fico Nybegynder
27. august 2001 - 13:56 #18
Ja ja
Avatar billede fico Nybegynder
27. august 2001 - 14:09 #19
Hvorfor virke det ikke ?
<?
$connection = mysql_connect(\"localhost\",\"root\", \"\");
mysql_select_db(\"test\", $connection);
@mysql_query(\"
CREATE TABLE \'13\' (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\");

?>
Avatar billede Slettet bruger
27. august 2001 - 14:11 #20
høhø... en tabel må ikke starte med et tal. kald den f.eks. _13 hvis du absolut vil have 13 med..
Avatar billede fico Nybegynder
27. august 2001 - 15:06 #21
Det er virker heller ikke.<?
$connection = mysql_connect(\"localhost\",\"root\", \"\");
mysql_select_db(\"TEST\", $connection);
mysql_query(\"
CREATE TABLE \'test\' (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\");

?>
Avatar billede wizprod.com Nybegynder
27. august 2001 - 17:10 #22
<? er kun egenet til single line exec... prøv i stedet med <?php og vend dig til at bruge det HELE tiden!
Avatar billede fico Nybegynder
27. august 2001 - 17:19 #23
Still dosn\'t work:
<?php
$connection = mysql_connect(\"localhost\",\"root\", \"\");
mysql_select_db(\"TEST\", $connection);
mysql_query(\"
CREATE TABLE \'test\' (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\");

?>
Avatar billede wizprod.com Nybegynder
27. august 2001 - 17:27 #24
prøv lige

mysql_query(\"
CREATE TABLE \'test\' (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\") or die(mysql_error());
Avatar billede fico Nybegynder
27. august 2001 - 17:36 #25
Virker stadig væk ikke:
Men nu får jeg denne fejl:
You have an error in your SQL syntax near \'\'test\' ( id int(5) NOT NULL auto_increment, navn varchar(80), email var\' at line 2

<?php
$connection = mysql_connect(\"localhost\",\"root\", \"\");
mysql_select_db(\"TEST\", $connection);
mysql_query(\"
CREATE TABLE \'test\' (
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\") or die(mysql_error());


?>
Avatar billede wizprod.com Nybegynder
27. august 2001 - 17:41 #26
hehe fjern den parentes!

mysql_query(\"
CREATE TABLE \'test\'
  id int(5) NOT NULL auto_increment,
  navn varchar(80),
  email varchar(150),
  url varchar(200),
  besked text,
  dato timestamp(14),
  PRIMARY KEY (id)
);\") or die(mysql_error());
Avatar billede wizprod.com Nybegynder
27. august 2001 - 17:41 #27
WOOPS forkert!
Avatar billede fico Nybegynder
27. august 2001 - 17:50 #28
Øh ?
Avatar billede fico Nybegynder
27. august 2001 - 17:50 #29
Hvis det skulle virke så gør det ikke det.
Avatar billede wizprod.com Nybegynder
27. august 2001 - 19:40 #30
også derfor jeg skrev forkert!
Avatar billede wizprod.com Nybegynder
27. august 2001 - 19:46 #31
Prøv at kalde db\'en noget andet end test!
Avatar billede wizprod.com Nybegynder
27. august 2001 - 19:47 #32
NEJ, ikke igen, der skulle stå tabellen istedet for db\'en.
Jeg tror problemet er at du bruger ord reserved by mysql
Avatar billede jakoba Nybegynder
27. august 2001 - 19:48 #33
Her er et lille testscript. Det har den fordel at når der er noget der ikke lykkes som det skal giver det en fejlmeddelse så man kan se hvor det går galt.

scriptet kører fint her.

<?php
$server    = \"localhost\";
$brugernavn = \"jakoba\";
$password  = \"testing\";
$db_navn    = \"mysql\";
$dbt_navn  = \"Test6\";

if (!mysql_connect($server, $brugernavn, $password)) {
  echo mysql_error().\"\\n\";
  die(\"Unable to connect\\n\");
}

mysql_select_db(\"$db_navn\")
  or die(\"Unable to select db \".mysql_error().\"\\n\");

$result  = mysql_query(\"DROP TABLE IF EXISTS \".$dbt_navn)
  or die( \"Unable to connect to SQL server. Reason: \".mysql_error());

$result  = mysql_query(\"CREATE TABLE \".$dbt_navn.\" (UID INT, date DATE, nr INT)\")
  or die( \"Unable to connect to SQL server. Reason: \" .mysql_error() );
$result  = mysql_query(\"INSERT INTO \".$dbt_navn.\" VALUES (1,\'1998-12-31\',234)\")
  or die( \"Unable to connect to SQL server. Reason: \" .mysql_error() );
$result  = mysql_query(\"INSERT INTO \".$dbt_navn.\" VALUES (2,\'1999-12-31\',-44)\")
  or die( \"Unable to connect to SQL server. Reason: \" .mysql_error() );
$result  = mysql_query(\"INSERT INTO \".$dbt_navn.\" VALUES (3,\'2000-12-31\',999)\")
  or die( \"Unable to connect to SQL server. Reason: \" .mysql_error() );
$result  = mysql_query(\"INSERT INTO \".$dbt_navn.\" VALUES (4,\'2001-12-31\',555)\")
  or die( \"Unable to connect to SQL server. Reason: \" .mysql_error() );
$result  = mysql_query(\"SELECT * FROM \".$dbt_navn)
  or die( \"Unable to connect to SQL server. Reason: \".mysql_error());
                       
while  ($row = mysql_fetch_array($result))  {
  echo ($row[\'UID\'] .\" \" .$row[\'date\'] .\" \" .$row[\'nr\'] . \"<BR>\");
}

echo $result;
echo \"Færdig<BR>\";
                       
mysql_close();

echo \"--------------------<p>\";
?>

mvh JakobA
Avatar billede fico Nybegynder
28. august 2001 - 13:58 #34
Det virkede!
Tak Jakob A og Wizprod.com
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