0

Vtiger CRMで新しい機会を作成したときのエラーを修正するために手を貸してください.

原因は、システムが int フィールドに '' を挿入するときの「不正な整数値」です。SQL モードを設定することで解決する解決策があります。しかし、私は共有ホスティングを使用しています。プロバイダはこれを行うことができません。

4

1 に答える 1

0

vtiger では、デフォルトで config.inc.php ファイルで定義される DB タイプとして mysqli を使用します。

$dbconfig['db_type'] = 'mysqli';

vtigerがDB接続に使用するライブラリファイルでこの行を定義して、SQLモードランタイムを設定することをお勧めします

\vtiger\libraries\adodb\drivers\adodb-mysqli.inc.php

126 行目にオンライン コードを追加します。

前のコード

if ($ok) {
        if ($argDatabasename)  return $this->SelectDB($argDatabasename);
        return true;
} else {
        if ($this->debug)
            ADOConnection::outp("Could't connect : "  . $this->ErrorMsg());
        $this->_connectionID = null;
        return false;
}

最新のコード

if ($ok) {
        mysqli_query($this->_connectionID, "SET SESSION sql_mode = 'TRADITIONAL'");
        if ($argDatabasename)  return $this->SelectDB($argDatabasename);
        return true;
} else {
        if ($this->debug)
            ADOConnection::outp("Could't connect : "  . $this->ErrorMsg());
        $this->_connectionID = null;
        return false;
}

これがお役に立てば幸いです

于 2016-10-01T10:23:06.183 に答える