kan ikke oprette en table igennem php

Her kan du få hjælp og stille spørgsmål til MySQL/MySQLi!
Besvar
juicy-webdesign
Begynder
Indlæg:11
Tilmeldt:4. aug 2016, 08:08
kan ikke oprette en table igennem php

Indlæg af juicy-webdesign » 15. aug 2016, 12:05

Jeg har problemer med at oprette table i php kode.

Koden er således


<?php
$mysqli = mysqli_connect("localhost", "root", "", "ansatte");

if (mysqli_connect_errno())
echo "Connection failed";
else
echo "Connection Success!";

$sql = "CREATE TABLE persons(navn VARCHAR(50), adresse VARCHAR(50), postnummer TINYINT(4), city VARCHAR(50), cpr TINYINT(10), email VARCHAR(50), brugernavn VARCHAR(50), password VARCHAR(50), telefon TINYINT(8), sex ENUM(kvinde,mand), vikariat ENUM(ja,nej), startdato DATE(2016-08-01), uddannelse ENUM(ja,nej), arbejde ENUM(ja,nej), beskrivelse TEXT(5000), straffeattest ENUM(ja,nej), dansk ENUM(ja,nej), transport ENUM(ja,nej))";
if (mysqli_query($mysqli, $sql))
echo "Created table<br>";
else
echo "Failed to create<br>";

?>


Jeg får denne besked: Connection Success!Failed to create

hvad kan det være?

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: kan ikke oprette en table igennem php

Indlæg af jepperask » 15. aug 2016, 15:22

Hvordan virker dette?

Kode: Vælg alt

CREATE TABLE persons(
    navn VARCHAR(50), 
    adresse VARCHAR(50), 
    postnummer TINYINT(4), 
    city VARCHAR(50), 
    cpr TINYINT(10), 
    email VARCHAR(50), 
    brugernavn VARCHAR(50), 
    password VARCHAR(50), 
    telefon TINYINT(8), 
    sex ENUM('kvinde','mand'), 
    vikariat ENUM('ja','nej'),
    startdato DATE DEFAULT '2016-08-01',
    uddannelse ENUM('ja','nej'), 
    arbejde ENUM('ja','nej'),
    beskrivelse TEXT(5000), 
    straffeattest ENUM('ja','nej'), 
    dansk ENUM('ja','nej'), 
    transport ENUM('ja','nej')
)
Har sat ' rundt om dine enum-typer, og ændret DATE så den har en default-værdi, da jeg antager det er dét du forsøger at opnå. :-)

juicy-webdesign
Begynder
Indlæg:11
Tilmeldt:4. aug 2016, 08:08

Re: kan ikke oprette en table igennem php

Indlæg af juicy-webdesign » 15. aug 2016, 16:34

<?php
$mysqli = mysqli_connect("", "", "", "");

if (mysqli_connect_errno())
echo "Connection failed";
else
echo "Connection Success!";






$sql ="CREATE TABLE persons(
navn VARCHAR(50),
adresse VARCHAR(50),
postnummer TINYINT(4),
city VARCHAR(50),
cpr TINYINT(10),
email VARCHAR(50),
brugernavn VARCHAR(50),
password VARCHAR(50),
telefon TINYINT(8),
sex ENUM('kvinde','mand'),
vikariat SET('bygning','entreprise','smede','lager','servering'),
startdato DATE DEFAULT '2016-08-01',
uddannelse ENUM('ja','nej'),
arbejde ENUM('ja','nej'),
beskrivelse TEXT(5000),
straffeattest ENUM('ja','nej'),
dansk ENUM('ja','nej'),
transport ENUM('ja','nej'),
)"

if (mysqli_query($mysqli, $sql))
echo "Created table<br>";
else
echo "Failed to create<br>";

?>

nej desværre ikke.. her er koden igen, bare med en anden db
Senest rettet af juicy-webdesign 15. aug 2016, 17:10, rettet i alt 1 gang.

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: kan ikke oprette en table igennem php

Indlæg af jepperask » 15. aug 2016, 16:48

Jeg kigger lige på det, men i mellemtiden, så skynd dig lige at fjerne oplysningerne om din DB fra dit forrige indlæg.

juicy-webdesign
Begynder
Indlæg:11
Tilmeldt:4. aug 2016, 08:08

Re: kan ikke oprette en table igennem php

Indlæg af juicy-webdesign » 15. aug 2016, 17:12

mange tak.

Det er sådan at jeg sidder og skal lave den her hjemmeside for et vikarbureau, som vil have at folk selv kan tilmelde sig. Så det er derfor et krav fra kundens side at der skal være alle disse funktioner... Kan du evt hjælpe, hvis du får både html/php ?

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: kan ikke oprette en table igennem php

Indlæg af jepperask » 15. aug 2016, 18:24

Send mig gerne en PM ellers, så skal jeg nok hjælpe. Ellers har jeg prøvet lidt her - der er helt sikkert forbedringer at overveje, men det virker ved mig. Jeg vil klart anbefale dig at kigge på databasen, gennem phpmyadmin eller hvad der nu er benyttet. Jeg har i koden tilføjet et tjek til om tabellen allerede eksisterer, hvilket kan være dit problem hvis du har forsøgt at køre queryen flere gange.

Kode: Vælg alt

<?php 
$mysqli = mysqli_connect("", "", "", "");

if (mysqli_connect_errno()) {
	echo "Connection failed";
} else {
	echo "Connection Success!";
}

//Check if table already exists.
if (mysqli_num_rows(mysqli_query($mysqli, "SHOW TABLES LIKE 'persons'")) > 0) {
    printf("Table already exists.\n");
} else {
	$sql ="CREATE TABLE persons(
	navn VARCHAR(50), 
	adresse VARCHAR(50), 
	postnummer TINYINT(4), 
	city VARCHAR(50), 
	cpr TINYINT(10), 
	email VARCHAR(50), 
	brugernavn VARCHAR(50), 
	password VARCHAR(50), 
	telefon TINYINT(8), 
	sex ENUM('kvinde','mand'), 
	vikariat SET('bygning','entreprise','smede','lager','servering'),
	startdato DATE DEFAULT '2016-08-01',
	uddannelse ENUM('ja','nej'), 
	arbejde ENUM('ja','nej'),
	beskrivelse TEXT(5000), 
	straffeattest ENUM('ja','nej'), 
	dansk ENUM('ja','nej'), 
	transport ENUM('ja','nej')
	)";
	if (mysqli_query($mysqli, $sql)) {
		echo "Created table<br>";
	} else {
		echo "Failed to create<br>";
	}	
}
?>

juicy-webdesign
Begynder
Indlæg:11
Tilmeldt:4. aug 2016, 08:08

Re: kan ikke oprette en table igennem php

Indlæg af juicy-webdesign » 15. aug 2016, 18:43

hej igen Jeppe.

Jeg har sendt dig en pb... men ved ikke om den kom igennem :roll: hahahah

juicy-webdesign
Begynder
Indlæg:11
Tilmeldt:4. aug 2016, 08:08

Re: kan ikke oprette en table igennem php

Indlæg af juicy-webdesign » 15. aug 2016, 19:52

Jeppe jeg kan ikke sende beskeder igen, de havner bare i min udbakke. Kan du evt maile mig?

Besvar