コンポーネントに新しいphpファイルを作成しました。Joomlaデータベースに接続したいのですが、接続が不明です。エラーメッセージは次のとおりです。
Fatal error: Class 'JFactory' not found in D:\www\Joomla1.5\components\com_hello\views\hello\tmpl\index.php on line 13
JFactory::getDBO()
公共の場での使用方法を教えてください 。
コンポーネントに新しいphpファイルを作成しました。Joomlaデータベースに接続したいのですが、接続が不明です。エラーメッセージは次のとおりです。
Fatal error: Class 'JFactory' not found in D:\www\Joomla1.5\components\com_hello\views\hello\tmpl\index.php on line 13
JFactory::getDBO()
公共の場での使用方法を教えてください 。
tmplでデータベースオブジェクトを取得しようとしているのはなぜですか?DBオブジェクトは、コントローラーまたはモデルのいずれかでのみ使用する必要があり、ビューまたはtmplでは使用しないでください。Tmplには、ロジックコードがほとんど含まれておらず、ほとんどがHTMLである必要があります。
アイデアは、モデル内の関数を呼び出すことによって必要な情報を取得することです。次に、エコーアウトするtmplを参照して、このデータを渡します。
[編集]
$db = JFactory::getDBO();
$db->setQuery('INSERT INTO #__table (col1, col2) VALUES (val1, val2)');
$result = $db->query();
if ($result === null) {
JError::raiseWarning(100, $db->getErrorMsg());
}
こんにちは、私の場合$result === null
はうまくいきませんでしたが、!$result - うまくいきました
$db = JFactory::getDBO();
$db->setQuery('INSERT INTO #__table (col1, col2) VALUES (val1, val2)');
$result = $db->query();
if (!$result) {
JError::raiseWarning(100, $db->getErrorMsg());
}