Create table via PHP
mysql_connect('localhost','root','');
mysql_create_db('TestDB1');
$inp = 'CREATE TABLE DB1TEST ('
. 'naam VARCHAR(50) NOT NULL,'
. 'email VARCHAR(100) NOT NULL);';
$wrk = mysql_query($dbs);
Helaas kent mijn XAMPP Apache de functie 'mysql_create_db' (nog) niet. Als ik die functie oversla, krijgt de functie 'mysql_query' de resultaat 'FALSE'.
De code die phpmyadmin genereert kan je gebruiken in je scripts, of gebruik je phpmyadmin helemaal niet?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
CREATE TABLE `browsers` (
`id` int(11) NOT NULL auto_increment,
`browser` varchar(255) NOT NULL default '',
`hits` int(5) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
?>
CREATE TABLE `browsers` (
`id` int(11) NOT NULL auto_increment,
`browser` varchar(255) NOT NULL default '',
`hits` int(5) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
?>
Dan natuurlijk jouw waarden erin zetten.
En verder werkt de door Lissy voorgestelde code niet, want ik krijg daardoor het boodschap '
Parse error: syntax error, unexpected T_STRING in .......'.
Gr. mebus!
Jan:
Weet iemand een phpMyAdmin bestand waarin een nieuwe table aangemaakt wordt, zodat ik het kan afkijken?
Grappig dat geef ik je dus net...
Helaas werkt mijn phpMyAdmin niet goed. Kan iemand een door phpMyAdmin gegenereerde code hier zetten, zodat ik eruit kan afleiden hoe ik een nieuwe mySQL tabel via PHP kan aanmaken?
Google : "CREATE TABLE" PHP MYSQL
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
$db="mydatabase";
$link = mysql_connect("localhost");
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Select DB Error: ".mysql_error());
//create table
mysql_query("CREATE TABLE birthdays( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(30), birthday VARCHAR(7))")or die("Create table Error: ".mysql_error());
mysql_close($link);
?>
$db="mydatabase";
$link = mysql_connect("localhost");
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Select DB Error: ".mysql_error());
//create table
mysql_query("CREATE TABLE birthdays( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(30), birthday VARCHAR(7))")or die("Create table Error: ".mysql_error());
mysql_close($link);
?>
Dus in jouw geval is dan de code :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
$db="TestDB1";
$link = mysql_connect("localhost, root");
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Select DB Error: ".mysql_error());
//create table
mysql_query("CREATE TABLE TestDB1( naam VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL)")or die("Create table Error: ".mysql_error());
mysql_close($link);
?>
$db="TestDB1";
$link = mysql_connect("localhost, root");
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Select DB Error: ".mysql_error());
//create table
mysql_query("CREATE TABLE TestDB1( naam VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL)")or die("Create table Error: ".mysql_error());
mysql_close($link);
?>
Gewijzigd op 01/01/1970 01:00:00 door Ton
mysql_connect('localhost','root','');
mysql_create_db('TestDB1');
$inp = 'CREATE TABLE DB1TEST ('
. 'naam VARCHAR(50) NOT NULL,'
. 'email VARCHAR(100) NOT NULL);';
$wrk = mysql_query($dbs);
Zie je wat je verkeerd deed?
$dbs moet dus $inp worden...
Edit
Quote:
En verder werkt de door Lissy voorgestelde code niet, want ik krijg daardoor het boodschap '
Parse error: syntax error, unexpected T_STRING in .......'.
Parse error: syntax error, unexpected T_STRING in .......'.
Je had haar code ook niet compleet moeten overnemen, maar wat zij gaf was alleen de query. PHP & MySQL horen niet bij elkaar, je kan ze samen gebruiken, maar het zijn 2 aparte talen.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
For downwards compatibility mysql_createdb() can also be used.
Dit staat namelijk in de PHP manual.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Bij een nog te maken tabel krijg ik voor de functie 'mysql_select_db' het volgende boodschap "Unknown database 'db1test'". Nadat ik de functie 'mysql_query' ZONDER de functie 'mysql_select_db' probeerde om een nieuwe tabel aan te kunnen maken, krijg ik het volgende boodschap 'No database selected'.
Ik neem al mijn posts terug :) Ik las jouw eerste bericht helemaal verkeerd!
Probeer Ton zijn functie.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Sorry, ik wist toen niet, dat ik EERST een nieuwe database moet maken om een nieuwe tabel in die database te kunnen maken. Laat mij graag weten, hoe ik EERST een nieuwe database kan maken, en daarna een nieuwe table in die database.
In mijn XAMPP apache (Windows versie 1.5.1 met PHP versie 5.1.1) is twee functies 'mysql_create_db' en 'mysql_createdb' helaas onbekend, want ik krijg daardoor het boodschap 'Fatal error: Call to undefined function mysql_create_db()'. Ik ben een nieuweling voor mySQL.
Ik denk dat de mysql lib nog niet geinstalleerd is, test je lokaal?
Ja inderdaad gebruik ik mijn lokale XAMPP apache server. Hoe kan ik de mysql lib installeren, nadat ik complete (d.i. PHP, mysql, etc.) XAMPP apache server geïnstalleerd heb?
In php.ini (rond lijn 589), staat daar een ; voor php_mysql.dll? (Die hoort daar niet)
En in de map php. Staat daat het bestand php_mysql.dll?
Edit
Mocht iemand een ander idee hebben, mag ook! Want ik gok ook maar dat hier de fout ligt.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
In mijn beide bestanden 'C:/Program Files/xampp/apache/bin/php.ini' en 'C:/Program Files/xampp/php/php.ini' staat GEEN teken ';' voor de regel 'extension=php_mysql.dll'.
GR. mebus!