Vtiger CRMで新しい機会を作成したときのエラーを修正するために手を貸してください.
原因は、システムが int フィールドに '' を挿入するときの「不正な整数値」です。SQL モードを設定することで解決する解決策があります。しかし、私は共有ホスティングを使用しています。プロバイダはこれを行うことができません。
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;
}
これがお役に立てば幸いです