Ik heb de volgende query die ervoor zorgt dat de tabel gemaakt wordt en gevuld. De tabel wordt altijd gemaakt, maar op sommige servers niet gevuld. Suggesties?

De code:
function menu_install() {
	global $bbdb;
	$query = "CREATE TABLE `$bbdb->menu` (
		`set` varchar(50) NOT NULL default '',
		`item` varchar(50) NOT NULL default '',
		`page` varchar(50) NOT NULL default '',
		`location` varchar(150) NOT NULL default '',
		`order` int(9) NOT NULL default '0',
		PRIMARY KEY  (`set`,`item`)
		) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
		
	$bbdb->query($query);
	
	mysql_query ("INSERT INTO `$bbdb->menu` VALUES ('active', 'Forums', 'index.php', 'front-page', 0)");
	mysql_query ("INSERT INTO `$bbdb->menu` VALUES ('active', 'Search', 'search.php', 'search-page', 1)");
	mysql_query ("INSERT INTO `$bbdb->menu` VALUES ('inactive', 'Statistics', 'statistics.php', 'stats-page', 0)");
}

Thx
Een fout melding te voorschijn toveren ?

Dus een or die(mysql_error()) o.i.d. achter je mysql_query?

Nu is het namelijk een beetje koffie dik kijken ...

Verschillen vermelden tussen de servers waar het wel en niet werkt kan ook helpen.
Haal sowieoso ook even de variabelen buiten quotes.
Weet je zeker dat de tabel al bestaat.
De juiste charset aanwezig is.
Zoals Boaz al zegt een foutmelding
Aanvullend op het variabelen buiten quotes halen: ook nog even die backticks uit je query gooien. Dat is rotzooi van mysql en hoort verder niet in een sql query thuis...
Zonder bepaalde quotes werkte het niet + een foutmelding kan ik niet geven want op mijn server doet ie het gewoon.
mischien een typfoutje op een andere server??
dat klopt omdat bivoorbeeld set een mysql reserved word is... het is beter om die woorden te vermijden dan die woorden eigenwijs genoeg toch te gebruiken en te backticken...
michel schreef op 18.02.2007 14:22
dat klopt omdat bivoorbeeld set een mysql reserved word is... het is beter om die woorden te vermijden dan die woorden eigenwijs genoeg toch te gebruiken en te backticken...

Wijze woorden.

Reageren