0

我刚刚在我的服务器上从 Fedora-25 升级到 Fedora-27,我遇到了一些问题。当我通过网站将新记录提交到我的某些表中时,插入失败。我可以通过 ODBC 将来自 Access 的数据输入到一些但不是所有的表中。

插入从网页上的 JSON 处理程序获取 linenumber 列的 NULL 值。如果我从插入语句中删除 LineNumber 和变量,它就可以工作。我可以编辑,更新适用于这种形式。

我有另一个表,我插入以获取新的 LoadNumber,它可以工作,但它不会更新,但我可以通过 ODBC 从 Access 编辑更新,还有一个表,我不能从 Access 输入数据,但我可以从 phpmyadmin 然后在 Access 中编辑它. 我的网站上没有此表的页面。在升级之前,所有这些表格都运行良好。

$LN=$_POST['LineNumber'];
$SLN=$_POST['SLNS'];
$TypeId=$_POST['TypeId'];
$StopNbr=$_POST['StopNumber'];
$RN=$_POST['ReferenceNo'];
$LID=$_POST['LocationId'];


//inserting data order
$order = "INSERT INTO tblStops          (LineNumber,LoadNumber,TypeId,StopNumber,ReferenceNo,LocationId)
VALUES(
        '$LN','$SLN','$TypeId','$StopNbr','$RN','$LID')
    ";

$order1 =  "UPDATE tblStops SET lineNumber = '$LN', LoadNumber = '$SLN', TypeId = '$TypeId', StopNumber = '$StopNbr', ReferenceNo = '$RN', LocationId = '$LID'
WHERE lineNumber = '$LN'";
//declare in the order variable

if (($LN)>0 )
    {
    $result=mysqli_query($mysqli,$order1);
    } else{echo
    $result=mysqli_query($mysqli,$order);
    }
    if($result){
    header('location: loads.php');
    } else{
        echo("Data Input Failed");
    }
flush();
4

1 回答 1

0

mariadb 的变化是问题所在。

来自 MariaDB 网站。

SQL_MODE 已更改;特别是,对于没有为该字段指定值的插入,没有默认值的 NOT NULL 字段将不再回退到虚拟值。

于 2018-03-06T15:40:15.300 回答