0

これはコードです:

<?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 )";
}
?>

しかし、それは機能していません。1 つのループから複数のテーブルを作成する必要があります。それは可能ですか?

4

2 に答える 2

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また、古いものの代わりにorを使用することをお勧めしmysql PDOます。これは、将来非推奨になる予定の mysql API です。詳細については、こちらをご覧ください: http://se2.php.net/manual/en/mysqlinfo.api.choosing.php

于 2012-09-16T17:29:45.583 に答える
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 からの代替) を実行していなかったため、データベースでは何も実行されませんでした。

于 2012-09-16T17:35:22.707 に答える