Сохранить переменную PHP как ноль для SQL - PullRequest
0 голосов
/ 17 октября 2018

Я создал программу для чтения 3 входов на другой странице: ID, code1 и code2.

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

У меня естьподключил его к этому php-коду:

if (isset($_POST["ID"]))
 {
    $id=($_POST["ID"]);
   $val1=($_POST["code1"]);
   $val2=($_POST["code2"]);

if ($val2 == 0){
    $sum = $val1 + $val2;
    $res = $val1 - $val2;
    $mul = $val1 * $val2;
    $div = NULL;
}else{
    $sum = $val1 + $val2;
    $res = $val1 - $val2;
    $mul = $val1 * $val2;
    $div = $val1 / $val2;
}

 $cnn=mysqli_connect("localhost","root","CC2CRO","ejercicios");
 if ($cnn) {
echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('CONEXION EXITOSA  
 !!!!')</SCRIPT>");         
    $sqlnr = mysqli_query($cnn, "INSERT INTO calculadora (Id, Valor1, 
 Valor2, Suma, Resta, Multiplicacion, Division) VALUES ('$id', '$val1', 
 '$val2', '$sum', '$res', '$mul', '$div')");

Это связано с базой данных MySQL, до сих пор это работало, как, например, я поставил OP45, 12, 3, когда я вижу, что моя база данных сохраняется как OP4512 3 15 9 36 4 Моя проблема в том, что когда я использую 0 для $ val2, я хотел сохранить его как ноль, так как вы не можете разделить на 0, но когда я запускаюон оставляет всю строку пустой, делает это только тогда, когда $ val2 равен 0, если $ val2 равен 1 или более, он заполняет всю строку.

В моей базе данных идентификатор - varchar, а остальные - десятичные (6,2), Id - это PK и Not Null, также Valor1 и Valor2 тоже не равны Null.

ниже кодового блока сверху. У меня есть этот другой

 if ($sqlnr)
        echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('REGISTRO ALMACENADO CORRECTAMENTE !!!!')</SCRIPT>");
    else{
        echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('EL REGISTRO NO PUDO SER GUARDADO !!!!')</SCRIPT>");
    }

Первый виденесли он был сохранен в базе данных и второй, если он не был сохранен, поэтому, когда val2 равен 0, он всегда дает мне2-е сообщение.

1 Ответ

0 голосов
/ 17 октября 2018

Вы должны изменить

$div = NULL;  to  $div = 'NULL';

, затем удалить одинарные кавычки в '$ div' в строке sql ( '$div' to $div )

$sqlnr = mysqli_query($cnn, "INSERT INTO calculadora (Id, Valor1, 
        Valor2, Suma, Resta, Multiplicacion, Division) VALUES ('$id', '$val1', 
       '$val2', '$sum', '$res', '$mul', $div)");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...