我制作了一个程序来读取另一页上的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
当我看到数据库另存为OP45
12
3
15
9
36
4
时
我的问题是,当我为$ val2使用0时,我想将其保存为null,因为你不能将其除以0,但是当我运行它时,它将整个行留空,仅当$ val2为0时, $ val2为1或更大,它将填满整个行。
在我的数据库中,Id为varchar,其余为十进制(6,2),Id为PK且不为Null,Valor1和Valor2也不为空。
在上面的代码块下面,我还有另一个
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时,它总是向我发送第二条消息。
答案 0 :(得分:0)
您应该更改
$div = NULL; to $div = 'NULL';
然后在SQL字符串( '$div' to $div )
中删除'$ div'中的单引号
$sqlnr = mysqli_query($cnn, "INSERT INTO calculadora (Id, Valor1,
Valor2, Suma, Resta, Multiplicacion, Division) VALUES ('$id', '$val1',
'$val2', '$sum', '$res', '$mul', $div)");