I'm having problems with creating tables :\

Questions about the MySQL, PostgreSQL, and most other databases, as well as using it with PHP can be asked here.

Moderator: General Moderators

Post Reply
Darkzero
Forum Newbie
Posts: 18
Joined: Thu Oct 25, 2007 8:48 pm

I'm having problems with creating tables :\

Post by Darkzero »

Code: Select all

<?
include('config.php');

function db_blacklist_create() {
	mysql_query("CREATE TABLE blacklist(
		id INT NOT NULL AUTO_INCREMENT, 
		PRIMARY KEY(id),
		ip TEXT, 
		ip_range TEXT, 
		host TEXT, 
		encoding TEXT,
		language TEXT, 
		connection TEXT, 
		referrer TEXT,
		forwarded_for TEXT,
		via TEXT,
		current_url TEXT,
		browser TEXT,
		webserver TEXT,
		banned TEXT)")
		or die(mysql_error());
		echo 'Blacklist Database Created.<br>';
}

function checktable() {
	if (mysql_num_rows( mysql_query("SHOW TABLES LIKE '".blacklist."'")) == 0) {
		db_blacklist_create();
	}
}

checktable();

function fix_db() {
	mysql_query("CREATE TEMPORARY TABLE temp(
		ip VARCHAR(100), 
		ip_range VARCHAR(100), 
		host VARCHAR(100), 
		encoding VARCHAR(100), 
		language VARCHAR(100), 
		connection VARCHAR(100), 
		referrer VARCHAR(100), 
		forwarded_for VARCHAR(100), 
		via VARCHAR(100), 
		current_url VARCHAR(100), 
		browser VARCHAR(100), 
		webserver VARCHAR(100),
		banned VARCHAR(100))
		TYPE=HEAP;")
		or die(mysql_error());
	
	mysql_query("INSERT INTO temp(ip, ip_range, host, encoding, language, connection, referrer, forwarded_for, via, current_url, browser, webserver, banned) SELECT DISTINCT ip, ip_range, host, encoding, language, connection, referrer, forwarded_for, via, current_url, browser, webserver, banned FROM blacklist") or die(mysql_error());
	
	mysql_query("DROP TABLE blacklist") or die(mysql_error());

		mysql_query("CREATE TABLE blacklist(
		id INT NOT NULL AUTO_INCREMENT, 
		PRIMARY KEY(id),
		ip TEXT, 
		ip_range TEXT, 
		host TEXT, 
		encoding TEXT,
		language TEXT, 
		connection TEXT, 
		referrer TEXT,
		forwarded_for TEXT,
		via TEXT,
		current_url TEXT,
		browser TEXT,
		webserver TEXT,
		banned TEXT)")
		or die(mysql_error());
	
	mysql_query("INSERT INTO blacklist(ip, ip_range, host, encoding, language, connection, referrer, forwarded_for, via, current_url, browser, webserver, banned) SELECT DISTINCT ip, ip_range, host, encoding, language, connection, referrer, forwarded_for, via, current_url, browser, webserver, banned FROM temp") or die(mysql_error());
	
	mysql_query("DROP TABLE temp") or die(mysql_error());
	
}

fix_db();

?>

Output:

Code: Select all

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'connection TEXT, referrer TEXT, forwarded_for TEXT, via TEXT, current_u' at line 9

Is it a difference in mySQL versions? I'm running v5.0.16 if it makes any difference. Then again maybe im just overlooking something huge cause im new at this o.x
Last edited by Darkzero on Mon Oct 29, 2007 7:14 pm, edited 3 times in total.
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Descriptive Subjects

Post by feyd »

[url=http://forums.devnetwork.net/viewtopic.php?t=30037]Forum Rules[/url] Section 1.1 wrote:2. Use descriptive subjects when you start a new thread. Vague titles such as "Help!", "Why?" are misleading and keep you from receiving an answer to your question.
"Connection" is a reserved word.
Darkzero
Forum Newbie
Posts: 18
Joined: Thu Oct 25, 2007 8:48 pm

Post by Darkzero »

oh cool that worked, thanks. :]
Post Reply