2013-02-22 53 views
2

我想添加變量到MySQL中。 Column Slot的類型爲INT,B1 - > B12的類型爲VARCHAR(20)。 (例如:4PMTo6PM)。當我將硬編碼的數據添加到查詢中時,數據庫連接並且一切正常。然而變量訪問 - MySQL通過PHP不工作

然而,當我使用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

您必須使用'來插入查詢字符串數據,所有其他查詢也一樣。

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')"); 
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."')"); 
+0

它不是空的。我沒有迴應價值觀。 – DesperateLearner 2013-02-22 09:39:58

+0

然後把單引號,並試試 – 2013-02-22 09:40:25

+0

如果它是一個字符串,你需要把一個單引號。 – 2013-02-22 09:40:55