2

我正在尝试将变量添加到 MySQL 中。列槽是 INT 类型,B1 -> B12 是 VARCHAR(20) 类型。

$slot1 到 $slot4 是一个字符串。(例如:4PMTo6PM)。当我将硬编码数据添加到查询中时,数据库连接并且一切正常。然而

但是,当我使用 NSURL 传递它时,我似乎没有插入数据。任何帮助,将不胜感激。

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

    if(isset($_GET["tabName"])){
      $tableName = $_GET["tabName"];
      $slot1 = $_GET["slot1Timing"];
      $slot2 = $_GET["slot2Timing"];
      $slot3 = $_GET["slot3Timing"];
      $slot4 = $_GET["slot4Timing"]; 
     }

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


     mysql_select_db("booking", $con);




      mysql_query("INSERT INTO $tableName (Slot,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)VALUES   
             ('1',$slot1,$slot1,$slot1,$slot1,$slot1,$slot1,$slot1,$slot1,$slot1,$slot1,$slot1,$slot1)");

      mysql_query("INSERT INTO $tableName (Slot,B1, B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)
             VALUES ('2',$slot2,$slot2,$slot2,$slot2,$slot2,$slot2,$slot2,$slot2,$slot2,$slot2,$slot2,$slot2)");

      mysql_query("INSERT INTO $tableName (Slot,B1, B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)
      VALUES ('3',$slot3,$slot3,$slot3,$slot3,$slot3,$slot3,$slot3,$slot3,$slot3,$slot3,$slot3,$slot3)");

      mysql_query("INSERT INTO $tableName (Slot,B1, B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)
       VALUES ('4',$slot4,$slot4,$slot4,$slot4,$slot4,$slot4,$slot4,$slot4,$slot4,$slot4,$slot4,$slot4)");


   mysql_close($con);
   ?>

样本数据(工作)

mysql_query("INSERT INTO $tableName (Slot,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)VALUES   
('1','1','1','1','1','1','1','1','1','1','1','1','1',)"); 

NSURL 连接

   @"http://ip/booking/insertSlotsTable.php?tabName=%@&slot1Timing=%@&slot2Timing=%@&slot3Timing=%@&slot4Timing=%@",slotTableName,@"10AMTo12PM",@"12PMTo2PM",@"2PMTo4PM",@"4PMTo6PM"

有谁知道查询变量出了什么问题?

4

2 回答 2

2

您必须使用'字符串数据插入查询,所有其他查询也是如此。

  mysql_query("INSERT INTO $tableName (Slot,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)VALUES   
         ('1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1','$slot1')");
于 2013-02-22T09:37:53.373 回答
0

检查它的值,$slot1如果它是空的,它不会插入它会显示错误。

最好放'$slot1'单引号并尝试

mysql_query("INSERT INTO $tableName (Slot,B1, B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12)
             VALUES ('2','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."','".$slot2."')");
于 2013-02-22T09:38:13.953 回答