Показать сообщение отдельно
  #1 (permalink)  
Старый 15.02.2012, 10:04
Аспирант
Отправить личное сообщение для d-kaktus Посмотреть профиль Найти все сообщения от d-kaktus
 
Регистрация: 05.01.2012
Сообщений: 38

php и mysql - проверка существования
Сложилась ситуация:
набрасываю небольшой сайт, который должен быть кроссхостинговым в отношении mysql -> базы и таблицы должны создаваться сами, если их нет.
У меня есть решение, но с моей точки зрения оно не рациональное.
$db=array();
$sq=mysql_query("SHOW DATABASES");
if(mysql_num_rows($sq)>0){
	while($row = mysql_fetch_array($sq, MYSQL_NUM)){
		$db[] = $row[0];
	}
}
$b=array("base1","base2","base3");
for($i=0;$i<count($db);$i++){ $cdb=1;
	for($j=0;$j<count($b);$i++){
		if($db[$i]==$b[$j]){$cdb=0; break;}
	}
	if($cdb==1){mysql_query("CREATE DATABASE $db[$i]");}
}

Это относится и к таблицам таким же способом.
А смысл в том, что нужно проверить существует ли база, а в ней и соответствующие таблицы, что указано в некотором массиве, и при отсутствии создать их.
Думаю, есть варианты проверки проще, но как-то не могу понять и найти соответствующий материал, видимо из-за недостаточного знания mysql.
Ответить с цитированием