Hallo,

Ik zou graag willen weten hoe je een tabel aanmaakt in de Mysql database door middel van een formulier in PHP.

Als men de naam van de tabel invult in het formulier en ook de namen van de kolommen die in de tabel moeten komen en vervolgens op de knop "verzenden" klikt wordt de tabel gemaakt in de database.

Hoe is zoiets te maken?

Erwin
Ja net zoals in phpMyAdmin.

Het lukt me wel om een tabel aan te maken in PHP code, maar ik wil juist dat je een mooi formuliertje krijgt waarin je het allemaal in kunt vullen.

Erwin
Wat voor formulier heb je al?
Je kunt in feite gewoon bij phpmyadmin kijken hoe ze het daar door.
Je hoeft dan alleen de informatie in te lezen en te controleren
Ik heb nu onderstaande code:
Het formulier word netjes weergegeven maar als ik m wil verzenden geeft ie aan: "Error in MySQL syntaxis on line 5"

De code:
<?php
$db_host = "localhost";
$db_user = "naam";
$db_pwd = "wachtwoord";
$db_name = "database";
mysql_connect($db_host, $db_user, $db_pwd);
mysql_select_db($db_name);

<html>
<head>
<title>test</title>
</head>
<body>

if (!isset($_POST['submit'])) {

<form action="" method="post">
Tabelnaam: <input type="text" name="tabelnaam"><br>
Waarde 1: <input type="text" name="waarde1"><br>
Waarde 2: <input type="text" name="waarde2"><br>
<input type="submit" name="submit" value="Submit!">
</form>

} else {
$tabelnaam = $_POST['tabelnaam'];
$waarde1 = $_POST['waarde1'];
$waarde2 = $_POST['waarde2'];

mysql_query("CREATE TABLE $tabelnaam(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
$waarde1 VARCHAR(255),
$waarde2 VARCHAR(255);
")
or die(mysql_error());

echo "De tabel is gemaakt";
}

</body>
</html>
?>
$waarde2 VARCHAR(255);

De ;.
Waar controleer je of je $_POST variabelen wel bestaan? Tevens mis ik de beveiliging van de variabelen met mysql_real_escape_string().

Maar waarom zou je in hemelsnaam met een formulier een tabel in je database willen aanmaken? Dat doe je normaal gesproken maar 1 keer handmatig en daarna nooit meer. Dan is het enkel nog een kwestie van het verwerken van records in de verschillende tabellen die je aangemaakt hebt...

ps. Verder klopt er nog wel meer in je script niet. Je kunt niet zomaar HTML neerzetten in je PHP script, dat zul je dan altijd nog moeten echoën...
winkie schreef op 10.12.2007 12:14
$waarde2 VARCHAR(255);

De ;.


Dank je wel, dat was inderdaad de oplossing.
Nu werkt het :D

Blanche schreef op 10.12.2007 12:14

ps. Verder klopt er nog wel meer in je script niet. Je kunt niet zomaar HTML neerzetten in je PHP script, dat zul je dan altijd nog moeten echoën...


Dat klopt, in de orginele code wordt PHP afgesloten en opnieuw gestart, dat heb ik hier in mn quote even evranderd omdat het anders op het forum er heel raar uitzag.


Groet,

Erwin
Error in MySQL syntaxis on line 5 spreekt boekdelen!
Dat klopt, in de orginele code wordt PHP afgesloten en opnieuw gestart, dat heb ik hier in mn quote even evranderd omdat het anders op het forum er heel raar uitzag.
Kwestie van [ignore]
[/ignore] tags eromheen zetten. Maar ik begrijp nog steeds niet waarom je een gebruiker een tabel zou willen laten aanmaken in je database?

Reageren