无法创建用于创建具有diff名称的数据库的脚本。 PHP / MySQL的

时间:2013-02-24 18:44:40

标签: php mysql

人。我想制作这个剧本,或其他具有相同效果的剧本:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }

mysql_close($con);
?>

要创建具有不同名称的数据库,例如: 第一次将创建名为“news1”的数据库,下次,脚本就会做某事。像那样:news1 + 1 = news2,并将创建名为news2的数据库,依此类推......

我希望你明白我的观点,如果你能帮助我做到这一点,我将非常感激... 此致,Denis Saidov。

2 个答案:

答案 0 :(得分:0)

要做到这一点,我猜你不只是想循环100次?

您需要将变量保存到文本文件中,然后再次调用它。

将$ text写入文件:

$var_str = var_export($text, true);
$var = "<?php\n\n\$$text = $var_str;\n\n?>";
file_put_contents('filename.php', $var);

再次检索:

include 'filename.php';
echo $text;

所有在一起:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
$db_number = get_var();
$my_db = 'news' . $db_number;
if (mysql_query("CREATE DATABASE ".$my_db,$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
$new_db_number = $db_number + 1;
save_var($new_db_number);
mysql_close($con);

function save_var($var) {
$var_str = var_export($text, true);
$var = "<?php\n\n\$$text = $var_str;\n\n?>";
file_put_contents('filename.php', $var);
}
function get_var()
include 'filename.php';
return $text;
}
?>

PS我觉得应该只打字未经测试

答案 1 :(得分:0)

数据库应该是静态的。创建数据库是一次性事件:

  • 索引
  • 各种约束
  • 触发器
  • 存储过程

这可以使用SQL脚本完成。

然后访问此数据库的PHP内容只需要使用selectinsertdeleteupdate语句 - 或者我更喜欢使用存储过程。

您将面临许多令人头疼的问题。此外,我不想每次都要写一个PHP脚本来管理它们。