CS-Cart.jp開発者ドキュメント
  • はじめに
  • Getting Started
    • CS-Cart開発者向け注意事項
    • CS-Cartの構成
    • デバッグ方法
  • コア
    • Hooks
    • コントローラー
      • Pre&Post コントローラー
    • データベース
      • データベースの構造と命名規則
      • データベース・プレイスホルダー
      • 他のデータベースへの接続
    • ショップフロント
      • ブロック
      • blockメインスキーマ—
      • Dynamic Objects
      • ajaxリクエストの使用方法
      • 特別なCSSセレクター
      • マイクロフォーマット Microformats
      • 通知システム
      • ツールチップ
    • 設定
    • コア関数
    • イベントの通知
    • 言語変数
    • スキーマー
  • アドオン開発
    • フック
      • PHPフック
      • テンプレートフック
    • アドオンチュートリアル
      • 「Hello World」チュートリアル
      • Advanced Add-on チュートリアル
      • 商品リスト、詳細ページのカスタムテンプレートを作成
      • 支払方法の開発
    • アドオンの管理プロセス
    • Add-on スキーマー
      • アドオンの互換性
      • 他のアドオンとの競合・依存設定
    • APIの拡張
    • スキーマーの拡張
    • アドオンのディレクトリ構造
    • アドオンの言語変数
    • .poファイルによる言語ファイルの作成
  • テーマ開発
    • テーマ開発の概要
    • テーマの複製
    • レイアウトの管理
    • トップパネルとヘッダー
    • テーマを使用したショップの設定の変更
    • CSS
    • テーマの言語変数
    • メディアファイル
    • 親テーマ
    • スタイルとビジュアルエディター
    • レイアウトエディター
    • テンプレート
  • デバッグ
    • デバッガー
    • ファイルエディター
GitBook提供
このページ内
  • ?u
  • ?e
  • ?i
  • ?s
  • ?l
  • ?d
  • ?a
  • ?n
  • ?p
  • ?w
  • ?f
  • ?m
  1. コア
  2. データベース

データベース・プレイスホルダー

?u

データを更新するための構造持つ配列を格納します:

<?php
$data = array (
    'payment_id' => 5
    );
$order_id = 3;
 
db_query('UPDATE ?:orders SET ?u WHERE order_id = ?i', $data, $order_id);

上記PHPコードは以下のSQLとなります。

UPDATE cscart_orders SET payment_id = '5' WHERE order_id = 3;

?e

データを挿入するための構造持つ配列を格納します:

<?php
$data = array (
    'payment_id' => 5,
    'order_id' => 3
);
 
db_query('INSERT INTO ?:orders ?e', $data);

上記PHPコードは以下のSQLとなります。

INSERT INTO cscart_orders (payment_id, order_id) VALUES ('5', '3');

?i

文字列や数値を受け取り、整数に変換します

<?php
$order_id = 4;
db_query('SELECT * FROM ?:orders WHERE order_id = ?i', $order_id);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_orders WHERE order_id = 4;

?s

文字列や数値を(スラッシュを追加して)文字列に変換します

<?php
$order_id = 'adasd';
db_query('SELECT * FROM ?:orders WHERE order_id = ?s', $order_id);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_orders WHERE order_id = 'foo';

?l

受け取ったデータをLIKEオペレーターに置換するために文字列に変換します(ダブルバックスラッシュに変換されスラッシュが追加されます)

<?php
$piece = '%black\white%';
db_query('SELECT * FROM ?:product_descriptions WHERE product LIKE ?l', $piece);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_product_descriptions WHERE product LIKE '%black\\\\white%';

?d

データをデシマル(分数)に変換する

<?php
$order_id = '123.345345';
db_query('SELECT * FROM ?:orders WHERE order_id = ?d', $order_id);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_orders WHERE order_id = '123.35';

?a

prepares data to be used in the structure IN () as a set of strings, receives a string, number, array: 文字列や数値、配列をIN ()で使えるデータに変換します

<?php
$order_id = '123';
db_query('SELECT * FROM ?:orders WHERE order_id IN (?a)', $order_id);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_orders WHERE order_id IN ('123');

?n

文字列や数値、配列をIN()で使えるデータに変換します

<?php
$order_id = '123.45';
db_query('SELECT * FROM ?:orders WHERE order_id IN (?n)', $order_id);

?p

準備された値の挿入:

<?php
$order_id = 'order_id = 4';
db_query('SELECT * FROM ?:orders WHERE ?p', $order_id);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_orders WHERE order_id = 4;

?w

WHERE句で使えるデータを格納します

<?php
$data = array (
    'payment_id' => 5,
    'order_id' => 3
);
 
db_query('SELECT * FROM ?:orders WHERE ?w', $data);

上記PHPコードは以下のSQLとなります。

SELECT * cscart_orders WHERE payment_id = '5' AND order_id = '3';

Operators ?w プレースホルダーは次のオペレーターをサポートしています: =, !=, >, <, <=, >=, <>, LIKE, NOT LIKE, IN, NOT IN, NULL

配列の例

<?php
$data = array (
    field => value,
    array(field, operator, value)
);
  • field テーブルのフィールド名

  • value 値の条件

  • operator 条件のオペレーター

?f

変数の値が有効なフィールド名かチェックします

<?php
$data = 'payment@id';
 
db_query('SELECT * FROM ?:orders WHERE ?f = 5', $data);

上記PHPコードは以下のSQLとなります。

SELECT * FROM cscart_orders WHERE  = 5;

?m

マルチインサートに対応する配列を格納します。

<?php
$data = array(
    array(
        'payment_id' => 5,
        'order_id' => 3
    ),
    array(
        'payment_id' => 5,
        'order_id' => 4
    ),
);
 
db_query('INSERT INTO ?:orders ?m', $data);

上記PHPコードは以下のSQLとなります。

INSERT INTO cscart_orders (payment_id, order_id) VALUES ('5', '3'),('5', '4');
前へデータベースの構造と命名規則次へ他のデータベースへの接続

最終更新 7 か月前