2016-07-28 7 views
-1

Может ли кто-нибудь увидеть, что не так с приведенным ниже кодом. Когда я отправляю данные с помощью формы HTML, я получаю как ожидается подтверждение для подтверждения Зарегистрировано. Однако, когда я проверяю базу данных, ее там нет!Данные формы Не размещать в базе данных

Я проверил имена одни и те же имена каждого входа правильно и может подтвердить базу данных успешно подключен, наряду с именами столбцов базы данных ЭСТ ...

Любая помощь будет оценена.

<?php 

    if (isset($_POST['carrierinsert'])) { 

    $acc = $_POST['acc']; 


    $sql = "SELECT cariers.acc FROM cariers WHERE cariers.acc ='$acc'"; 
    $result = $db->query($sql); 

    if($result->num_rows > 0) { 

     echo "<font color='red'>Carrier Already exits</font>"; 


    $sql = "INSERT INTO cariers (`reg`, `acc`, `accstatus`, `carramid`, `carrfloor`, `pay`, `comms`) 
    VALUES ('".$db->real_escape_string($_POST['reg'])."', 
      '".$db->real_escape_string($_POST['acc'])."', 
      '".$db->real_escape_string($_POST['accstatus'])."', 
      '".$db->real_escape_string($_POST['carramid'])."',  
      '".$db->real_escape_string($_POST['carrfloor'])."', 
      '".$db->real_escape_string($_POST['pay'])."',   
      '".$db->real_escape_string($_POST['comms'])."')"; 


     $insert = $db->query($sql); 

        echo "<font color='red'>Carrier Inserted</font>"; 

     } 
     } 
     ?> 


       <h1>Add New</h1> 
       <hr> 




      <form method="post" action=""> Carrier<br /> 




      <input name="reg" type="text" required="required" value=""> 
      <br /><br /> 




      Number<br /> 
      <input name="acc" type="text" required="required" value=""> 
      <br /><br /> 



      Status<br /> 
      <input name="accstatus" type="text" required="required" value=""> 





      Floor<br /> 
      <select name="carrfloor" id="carrfloor"> 
      <option name="carrfloor" Value="1">1</option> 
      <option name="carrfloor" Value="2">2</option> 
      </select> 
      <br /><br /> 




      Pay<br /> 
      <select name="pay" id="pay"> 
      <option selected="selected" name="pay" Value="0">N/A</option> 
      <option name="pay" Value="1">1%</option> 
      <option name="pay" Value="1.25">1.25%</option> 
      <option name="pay" Value="1.5">1.5%</option> 
      <option name="pay" Value="1.75">1.75%</option> 
      <option name="pay" Value="2">2%</option> 
      <option name="pay" Value="2.25">2.25%</option> 
      <option name="pay" Value="2.50">2.50%</option> 
      <option name="pay" Value="3.00">3%</option> 
      </select> 
      <br /><br /> 



      Additional Charge<br /> 
      <select name="comms" id="comms"> 
      <option name="comms" selected ="selected" Value="Fees">Yes</option> 
      <option name="comms" Value="No Fees">No</option> 
      </select> 
      <br /><br /> 



      Manager<br /> 
      <select name="carramid" id="carramid"> 
      <option name="carramid" Value="Yes">Yes</option> 
      <option name="carramid" Value="No">No</option> 
      </select> 
      <br /><br /> 


      <br /><br /> 
      <input type="submit" class="btn" name="carrierinsert" value="Save" /> 


      </form> 
+2

Включите одну цитату, чтобы удвоить одну переменную sql. __'__ -> __ "__ –

+1

что-то явно вас не устраивало, и вы не проверяли на наличие ошибок, чего бы вы ожидали, * магия? * –

+0

Не говоря уже о том, что вы оставляете HTML-форму, которая должна была быть отправлена ​​с помощью это так. Как мы узнаем, что здесь тоже не удается? –

ответ

0
$sql = "INSERT INTO cariers (reg, acc, accstatus, carramid, carrfloor, pay, comms) 
     VALUES ('".{$db->real_escape_string($_POST['reg'])}."', 
       '".{$db->real_escape_string($_POST['acc'])}."', 
       '".{$db->real_escape_string($_POST['accstatus'])}."', 
       '".{$db->real_escape_string($_POST['carramid'])}."',  
       '".{$db->real_escape_string($_POST['carrfloor'])}."', 
       '".{$db->real_escape_string($_POST['pay'])}."',   
       '".{$db->real_escape_string($_POST['comms'])}."')"; 

UPDATE

$a = 15; 

    echo 'this will not write 15: $a' 
     .PHP_EOL. 
     "this will write 15: $a" 
     .PHP_EOL. 
     "but i can escape a variable anyways. i dont need to change quotes".$a.' dot (.) is the add method for strings' 
     ; 
+2

, можете ли вы объяснить, что вы здесь сделали? –

+0

... Наверное, нет. –

+0

Я изменил согласно Мехмету и его высказывание о том, что при ошибке -Парсе: синтаксическая ошибка, неожиданная 'в строке 19, которая является VALUES (' ". {$ db-> real_escape_string ($ _ POST ['reg'])}.", – scarlet

0

попробовать это:

$sql = "INSERT INTO cariers (`reg`, `acc`, `accstatus`, `carramid`, `carrfloor`, `pay`, `comms`) 
     VALUES ('".$db->real_escape_string($_POST['reg'])."', 
       '".$db->real_escape_string($_POST['acc'])."', 
       '".$db->real_escape_string($_POST['accstatus'])."', 
       '".$db->real_escape_string($_POST['carramid'])."',  
       '".$db->real_escape_string($_POST['carrfloor'])."', 
       '".$db->real_escape_string($_POST['pay'])."',   
       '".$db->real_escape_string($_POST['comms'])."')"; 

Editted: попробуйте этот код

<?php 
    if (isset($_POST['carrierinsert'])) { 
     $acc = $_POST['acc']; 
     $sql = "SELECT cariers.acc FROM cariers WHERE cariers.acc ='$acc'"; 
     $result = $db->query($sql); 

     if($result->num_rows > 0) { 
      echo "<font color='red'>Carrier Already exits</font>"; 
     }else{ 

      $sql = "INSERT INTO cariers (`reg`, `acc`, `accstatus`, `carramid`, `carrfloor`, `pay`, `comms`) VALUES ('".$db->real_escape_string($_POST['reg'])."', '".$db->real_escape_string($_POST['acc'])."','".$db->real_escape_string($_POST['accstatus'])."','".$db->real_escape_string($_POST['carramid'])."', '".$db->real_escape_string($_POST['carrfloor'])."','".$db->real_escape_string($_POST['pay'])."','".$db->real_escape_string($_POST['comms'])."')"; 
      $insert = $db->query($sql); 
      echo "<font color='red'>Carrier Inserted</font>"; 
      } 
     } 
?> 


<h1>Add New</h1> 
<hr> 
<form method="post" action=""> Carrier<br /> 
     <input name="reg" type="text" required="required" value=""> 
     <br /><br /> 
    Number<br /> 
     <input name="acc" type="text" required="required" value=""> 
     <br /><br /> 
    Status<br /> 
     <input name="accstatus" type="text" required="required" value=""> 
    Floor<br /> 
     <select name="carrfloor" id="carrfloor"> 
      <option value="1">1</option> 
      <option value="2">2</option> 
     </select> 
     <br /><br /> 
    Pay<br /> 
     <select name="pay" id="pay"> 
      <option selected="selected" value="0">N/A</option> 
      <option value="1">1%</option> 
      <option value="1.25">1.25%</option> 
      <option value="1.5">1.5%</option> 
      <option value="1.75">1.75%</option> 
      <option value="2">2%</option> 
      <option value="2.25">2.25%</option> 
      <option value="2.50">2.50%</option> 
      <option value="3.00">3%</option> 
     </select> 
    <br /><br /> 
    Additional Charge<br /> 
     <select name="comms" id="comms"> 
      <option selected ="selected" value="Fees">Yes</option> 
      <option value="No Fees">No</option> 
     </select> 
     <br /><br /> 
    Manager<br /> 
     <select name="carramid" id="carramid"> 
      <option value="Yes">Yes</option> 
      <option value="No">No</option> 
     </select> 
     <br /><br /> 
     <br /><br /> 
    <input type="submit" class="btn" name="carrierinsert" value="Save" /> 
</form> 
+2

почему они должны * попробовать это *? просветите нас ;-) –

+1

, что вы только что получили, это не мое. Просто так ты это знаешь. –

+0

жаль, что я забыл добавить двойные кавычки. Я обновляю запрос, см. Сейчас –

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