这是代码:
<?php
$months= array("january", "november", "december");
$db_server = include('root.php');
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db('info');
for ($i=0; $i < $months; $i++){
$query1 = "CREATE TABLE {$months[$i]} (
StIDf CHAR(10) NOT NULL, FulNam TEXT NOT NULL, ComNam TEXT NOT NULL,Add TEXT ,Tel TEXT )";
}
?>
但它不起作用。我需要从一个循环创建几个表。有可能吗?
答案 0 :(得分:1)
您永远不会执行实际查询,请将此行添加到for循环中:
mysql_query($query1);
此外,您应该使用count($month)
来查找它包含的项目数。
for ($i = 0; $i < count($months); $i++) {
$query1 = "CREATE TABLE {$months[$i]} (
StIDf CHAR(10) NOT NULL,FulNam TEXT NOT NULL, ComNam TEXT NOT NULL,Add TEXT ,Tel TEXT )";
mysql_query($query1);
}
另外,我建议使用mysqli
或mysql PDO
而不是旧的,将来会被弃用的mysql API。在此处详细了解:http://se2.php.net/manual/en/mysqlinfo.api.choosing.php
答案 1 :(得分:1)
试试这个:
<?php
$months = array("january","november","december");
$db_server = include('root.php');
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db('info');
foreach($months as $month) {
$query1 = "CREATE TABLE {$month} ( "
. "StIDf CHAR(10) NOT NULL, "
. "FulNam TEXT NOT NULL, "
. "ComNam TEXT NOT NULL, "
. "Add TEXT, "
. "Tel TEXT "
. ")";
$result = mysql_query($query1);
}
?>
您的代码没有执行mysql_query
(或mysqli或PDO的备选方案),因此数据库中没有执行任何操作。