1

次のタイプの構造のテーブルがあります。URLデータは問題ないようです。ベイ値(B1 B2 B3)は整数型の1に設定されます。

  DateToBook          | B1 | B2 | B3 | 
 ------------------------------------
  8March2013         | 1  |  1 |  1 |

値を挿入できませんでした。上記の構造のベイカウントは3です。

   <?php
   $DB_hostname = "localhost";
   $DB_Name = "root";
   $DB_pass = "pass123";

   if(isset($_GET["tabName"])){
       $tableName = $_GET["tabName"];
       $dB = $_GET["db"];
       $bayCount = $_GET["bayNo"];
       $date =  $_GET["d"];
       $b = '1';
    }

   $con = mysql_connect($DB_Hostname,$DB_Name,$DB_pass) or die(mysql_error());


   mysql_select_db($db, $con);

   $_bayColumn = array();
   for ($i = 1; $i <= $bayCount; $i++) {
      $_bayColumn[] = "B$i";
   }
   echo $_bayColumn[0];


   mysql_query("INSERT INTO $tableName (DateToBook) VALUES ($date)");


   for ($j =0; $j < $bayCount; $j++) {

   mysql_query("UPDATE $tableName SET $_bayColumn[$j] = '$b'  WHERE DateToBook = '$date'");


   }




  mysql_close($con);
  ?>

構文に問題があるものはありますか?

4

2 に答える 2

1

あなたの問題は、以下のステートメント$bにのみ存在することです。ifが常に 1 の場合、代わりにクエリを$b記述してみませんか?1$b

または、次のように変更します。

$b = '1'; //Place it here
if(isset($_GET["tabName"])){
   $tableName = $_GET["tabName"];
   $dB = $_GET["db"];
   $bayCount = $_GET["bayNo"];
   $date =  $_GET["d"];
   $b = '1'; //You can get rid of this now
}

さらに、上記のコメントに完全に同意し、MySQLI または PDO を使用する必要があります

于 2013-03-08T09:24:37.587 に答える
0

die("INSERT INTO $tableName (DateToBook) VALUES ($date)")正しい値を取得したかどうかを確認するために使用できます。

于 2013-03-08T09:28:41.663 に答える