I'm having problems with creating tables :\
Posted: Mon Oct 29, 2007 6:38 pm
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 9Is 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