2013-02-22 2 views
2

Я пытаюсь добавить переменные в MySQL. Слот колонок имеет тип INT и B1 -> B12 имеет тип VARCHAR (20).Переменный доступ - MySQL через PHP не работает

$ slot1 to $ 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

вы должны использовать ' для строковых данных для вставки в запрос, то же самое касается всех других запросов.

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

+0

Затем оставьте одинарные кавычки и попробуйте –

+0

Если это строка, вам нужно поставить одну цитату. –

Смежные вопросы