2017-01-26 6 views
0
 <?php 
    **$sum**=$num1 + num2; 
     ?> 

Я хотел вставить значение переменной в свой db.получить значение переменной и вставить в db

Пример:

<?php 
     if (!empty(isset($_POST["submit_n"]))) 
     { 
      $project_name = $_POST["project_name"]; 
     $num1 = $_POST["num1"]; 
      $num2 = $_POST["num2"]; 
      **$result= $sum;** 

      $sql = "INSERT INTO tbl_ongoing_project(project_name,num1,num2,result) VALUES ('$project_name','$num1','$num2','$result')"; 
      $res = $con->query($sql); 
      } 
     ?> 

Запрос работает, когда я еще не включил «результата» часть.

В надежде на ваше понимание. Еще новичок здесь.

+0

Прежде всего: это не ваша настоящая проблема. реальная проблема: ваш код широко открыт для ** SQL Injection ** - представьте, что кто-то отправил «no_of_OP» как ''; ТАБЛИЦА DROP tbl_ongoing_project; - '- использовать ** параметризованные операторы **, чтобы защитить себя от инъекций * и *, как побочный эффект, решить большинство проблем, которые вы, вероятно, будете иметь при работе с базами данных. –

+0

Может ли var сбрасывать $ sum? – Shubhranshu

+0

Я уже работал. Спасибо за информацию. :) – akamariaclaraaa

ответ

0

Возможно, ваш $sum не имеет значения (даже 0). Я вижу ошибку там, посмотрите на это num2. Вам не хватает $.

  • Вы указали каждую переменную по умолчанию, например, $num1 = 0;?

Если нет, вы должны сначала объявить, чтобы в случае, когда вы получили нулевое или неизвестное значение, вы по-прежнему имеете значение по умолчанию. Обращайтесь к возможным сценариям, чтобы избежать получения нежелательных значений.

Вы также можете использовать var_dump($your_variable);, чтобы проверить информацию о своей переменной или даже ваш запрос.

Для получения информации о структуре ваших кодов вы можете прочитать здесь о SQL Injection.

+0

О, я до сих пор не узнал эту часть .. Это сработало.Большое вам спасибо – akamariaclaraaa

+0

@akamariaclaraaa Уверен, приветствую :) – rhavendc

0

Примечание: всегда помните одну вещь, если вы объявляете переменные, вы должны их инициализировать, прежде чем использовать их. Тогда вы можете избежать ненужных ошибок.

переменную начинается с знака $, за которым следует имя переменной

Когда получить любой глобальной переменной, как $ _POST или любой массив, вы должны проверить себя с помощью var_dump ($ _ POST); или print_r ($ _ POST); то вы могли бы увидеть переменную или массив, будет ли контент вашим желанием или нет. переменная не может выдавать выход в одинарной кавычки. Надеюсь, что вы это поняли. Если у вас есть еще какой-то запрос, который вы можете попросить, не стесняйтесь. благодаря

  • ваша ошибка: Не инициализируется переменная;
  • num2 вместо $ num2
  • ('$project_name','$num1','$num2','$result'); вместо VALUES ('".$project_name."','".$num1."','".$num2."','".$result."')

$ num1 = $ num2 = $ result = "";

if (!empty(isset($_POST["submit_n"]))) { 
    $project_name = $_POST["project_name"]; 
    $num1 = $_POST["num1"]; 
    $num2 = $_POST["num2"]; 
    $result = ($num1+$num2); 
    $sql = "INSERT INTO tbl_ongoing_project(project_name,num1,num2,result) VALUES ('".$project_name."','".$num1."','".$num2."','".$result."')"; 
} 
+0

Спасибо. Я получил его сейчас из-за всех ответов, которые я получил здесь. – akamariaclaraaa

+0

Вы больше всего приветствуетесь –

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