0

なぜこれはオブジェクトを生成するのですか?

$sql = $this->db->query("
  SELECT 'product_id'
  FROM " . DB_PREFIX . "product_to_category
  WHERE category_id = '" . $this->db->escape($category['category_id']) . "'
");

代わりに文字列/配列を取得するにはどうすればよいですか?

Opencart関連から:クラスstdClassのオブジェクトを文字列に変換できませんでした

4

3 に答える 3

2

CodeIgniter を仮定すると:

http://codeigniter.com/user_guide/database/queries.html

$this->db->query();

query() 関数は、「読み取り」タイプのクエリが実行されたときにデータベース結果オブジェクトを返します。これを使用して結果を表示できます。

次を使用して、結果セットの行を配列として処理できますresult_array

http://codeigniter.com/user_guide/database/results.html

$query = $this->db->query("YOUR QUERY");

foreach ($query->result_array() as $row){
   echo $row['title'];
   echo $row['name'];
   echo $row['body'];
}
于 2012-06-25T17:41:03.897 に答える
1
$sql = $this->db->query("
  SELECT 'product_id'
  FROM " . DB_PREFIX . "product_to_category
  WHERE category_id = '" . $this->db->escape($category['category_id']) . "'
");
$rows = $sql->rows; //array of all returned values
$row = $sql->row; //first row

var_dump($sql)を使用して、どのパブリック オブジェクト フィールドが役立つかを調査することを強くお勧めします。

*固定構文

于 2012-06-25T18:09:49.567 に答える
0

クエリ構文にエラーがあります。SELECT 'product_id' を入力しましたが、そこにアポストロフィを付けるべきではありません。

$sql = $this->db->query("
  SELECT 'product_id'
  FROM " . DB_PREFIX . "product_to_category
  WHERE category_id = '" . $this->db->escape($category['category_id']) . "'
");

この変更を行う必要があります。

$sql = $this->db->query("
  SELECT product_id
  FROM " . DB_PREFIX . "product_to_category
  WHERE category_id = '" . $this->db->escape($category['category_id']) . "'
");
于 2012-06-26T19:00:41.880 に答える