变量访问 - MySQL通过PHP无法正常工作

时间:2013-02-22 09:35:49

标签: php mysql objective-c

我正在尝试将变量添加到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"

任何人都知道查询变量出了什么问题?

2 个答案:

答案 0 :(得分: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')");

答案 1 :(得分: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."')");