Gå til innhold

Lage tabeller med php


Anbefalte innlegg

Skrevet

Hvorfor funker ikke følgende:

 

$query = mysql_query("CREATE TABLE `dhdf` (`id` TINYINT NOT NULL, PRIMARY KEY (`id`)); ");

 

Har egentlig en stor fil med mange create-setninger. (og insert into...) Tenkte følgende løsning var lur, men dengang ei:

$file = file('data.inc');
$data = "";
foreach($file as $line) {
$data .= $line;
}
$query = mysql_query("$data");

 

Hvorfor funker ikke det?

Videoannonse
Annonse
Skrevet

Nå veit ikke jeg helt sikkert det her, men mener å huske at file() tar med newline, "\n", som du da bør fjerne fra arrayet som oppstår.

kan skrive ut mysql_error() for å få en feilmelding.

Skrevet

Har prøvd litt mer frem og tilbake..

Dersom jeg kun har:

 

CREATE TABLE `artikkel2` (

`artid` int(11) NOT NULL auto_increment,

`navn` varchar(30) NOT NULL default '',

`overskrift` varchar(30) NOT NULL default '',

PRIMARY KEY (`artid`)

) TYPE=MyISAM

 

I fila mi, går det greit.

Men jeg har mange slike under hverandre. I tilegg har jeg DROP TABLE IF EXISTS artikkel2; også.. Men da får jeg feilmelding. Virker som at det er ";" som skaper problemer.. Har egentlig en ";" etter MyISAM også, men det virker ikke dersom denne er med..

Har prøvd med \; uten suksess. Forslag?

Det kan nevnes at alt fungerer dersom jeg kjører fila rett fra phpmyadmin...

Skrevet

Kanskje denne koden kan gjøre deg litt klokere?

 

if(!$queryResource = mysql_query($query)) {
trigger_error('<p>Query error '.mysql_error().'SQL: '.$sql.'</p>');
}

Skrevet

Får:

Query error You have an error in your SQL syntax near '; CREATE TABLE `artikkel` ( `artid` int(11) NOT NULL auto_increment, `navn` ' at line 14SQL:

 

Fila ser slik ut:

 

 

DROP TABLE IF EXISTS artikkel;

CREATE TABLE `artikkel` (

`artid` int(11) NOT NULL auto_increment,

`navn` varchar(30) NOT NULL default '',

`overskrift` varchar(30) NOT NULL default '',

`beskrivelse` tinytext NOT NULL,

`text` longtext NOT NULL,

`kategoriid` int(11) NOT NULL default '0',

PRIMARY KEY (`artid`)

) TYPE=MyISAM;

Skrevet

De lusne mysql kommandoene ( i motsetning til msqli) har ikke support for mer enn ett query om gangen, du bør derfor kjøre ett query med

DROP TABLE IF EXISTS artikkel

Og ett med

CREATE TABLE `artikkel` (
`artid` int(11) NOT NULL auto_increment,
`navn` varchar(30) NOT NULL default '',
`overskrift` varchar(30) NOT NULL default '',
`beskrivelse` tinytext NOT NULL,
`text` longtext NOT NULL,
`kategoriid` int(11) NOT NULL default '0',
PRIMARY KEY (`artid`)
) TYPE=MyISAM

Queryene skal heller ikke slutte på semikolon (;)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...