本文整理汇总了PHP中SC_Query::isError方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Query::isError方法的具体用法?PHP SC_Query::isError怎么用?PHP SC_Query::isError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Query
的用法示例。
在下文中一共展示了SC_Query::isError方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: lfCopyProductClass
/**
* 規格データをコピーする
*
* @param array $arrList フォーム入力パラメーター配列
* @param SC_Query $objQuery SC_Queryインスタンス
* @return boolean エラーフラグ
*/
public function lfCopyProductClass($arrList, &$objQuery)
{
// 複製元のdtb_products_classを取得(規格なしのため、1件のみの取得)
$col = '*';
$table = 'dtb_products_class';
$where = 'product_id = ?';
$arrProductClass = $objQuery->select($col, $table, $where, array($arrList['copy_product_id']));
//トランザクション開始
$objQuery->begin();
$err_flag = false;
//非編集項目は複製、編集項目は上書きして登録
foreach ($arrProductClass as $records) {
foreach ($records as $key => $value) {
if (isset($arrList[$key])) {
switch ($key) {
case 'stock_unlimited':
$records[$key] = (int) $arrList[$key];
break;
default:
$records[$key] = $arrList[$key];
break;
}
}
}
$records['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
$records['update_date'] = 'CURRENT_TIMESTAMP';
$records['create_date'] = 'CURRENT_TIMESTAMP';
$objQuery->insert($table, $records);
//エラー発生時は中断
if ($objQuery->isError()) {
$err_flag = true;
continue;
}
}
//トランザクション終了
if ($err_flag) {
$objQuery->rollback();
} else {
$objQuery->commit();
}
return !$err_flag;
}
示例2: sfColumnExists
/**
* カラムの存在チェックと作成を行う.
*
* チェック対象のテーブルに, 該当のカラムが存在するかチェックする.
* 引数 $add が true の場合, 該当のカラムが存在しない場合は, カラムの生成を行う.
* カラムの生成も行う場合は, $col_type も必須となる.
*
* @param string $table_name テーブル名
* @param string $column_name カラム名
* @param string $col_type カラムのデータ型
* @param string $dsn データソース名
* @param bool $add カラムの作成も行う場合 true
* @return bool カラムが存在する場合とカラムの生成に成功した場合 true,
* テーブルが存在しない場合 false,
* 引数 $add == false でカラムが存在しない場合 false
*/
function sfColumnExists($table_name, $col_name, $col_type = "", $dsn = "", $add = false)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
// テーブルが無ければエラー
if (!$this->sfTabaleExists($table_name, $dsn)) {
return false;
}
$objQuery = new SC_Query($dsn, true, true);
// 正常に接続されている場合
if (!$objQuery->isError()) {
list($db_type) = split(":", $dsn);
// カラムリストを取得
$arrRet = $dbFactory->sfGetColumnList($table_name);
if (count($arrRet) > 0) {
if (in_array($col_name, $arrRet)) {
return true;
}
}
}
// カラムを追加する
if ($add) {
$objQuery->query("ALTER TABLE {$table_name} ADD {$col_name} {$col_type} ");
return true;
}
return false;
}