У меня есть 2 соединения db, db1 является основным db, а db2 - копией.PHP/MySQL - Создать таблицу, если не существует
мой сценарий копирует с db2 (это была разработка), чтобы сделать db1 тем же.
Однако я не могу получить таблицу создания, если она не существует, чтобы работать с использованием более 1 базы данных и использовать «LIKE».
Это соединение:
<?php
$host = 'localhost';
$db1 = "***";
$username_db1 = '***';
$password_db1 = '***';
$db_c1 = mysql_connect($host, $username_db1, $password_db1) or die('Error connecting to Database!<br>'.mysql_error());
$db2 = "***";
$username_db2 = '***';
$password_db2 = '***';
$db_c2 = mysql_connect($host, $username_db2, $password_db2, true) or die('Error connecting to Database!<br>'.mysql_error());
mysql_select_db($db1, $db_c1);
mysql_select_db($db2, $db_c2);
?>
Это сценарий, а часть его.
$tables1 = array();
$tables2 = array();
$res = mysql_list_tables($db1, $db_c1);
while (list($tmp) = mysql_fetch_row($res))
{
$tables1[] = $tmp;
}
$res = mysql_list_tables($db2, $db_c2);
while (list($tmp) = mysql_fetch_row($res))
{
$tables2[] = $tmp;
}
// Tables creates if not exists
foreach($tables2 as $k=>$v)
{
mysql_query("CREATE TABLE IF NOT EXISTS ".$db1.".".$v." LIKE ".$db2.".".$v, $db_c1);
}
Я думаю, что проблема с LIKE я не думаю, что он читает правильно, у меня есть переменная $ сбрасывали tables2 и он пришел с результатами.
Спасибо
попробуйте распечатать запрос в режиме foreach и посмотреть, не выходит ли его из строя. – Astha