0

エラー: 11 行目の /application/views/main_view.php の配列から文字列への変換

私のビュー main_view.php

<?php echo $someval; ?>

私のコントローラー

<?php
class Main extends Controller { 
function index()
{
$example = $this->loadModel('Example_model');
    $something = $example->getSomething(1);
    $template = $this->loadView('main_view');
    $template->set('someval', $something);
    $template->render();
}   
}
?>

私のモデル

<?php


class Example_model extends Model { 
public function getSomething($id)
{
    $id = $this->escapeString($id);
    $result = $this->query('SELECT email FROM users WHERE id="1"');
    return $result;
}
}
?>

なぜそれがエラーなのかわかりません。戻り値はすでに文字列になっているはずですか? 助言がありますか?ありがとう

4

2 に答える 2

2

クエリの結果は、$resultエコーできる文字列ではありません。

$result = $this->query('SELECT email FROM users WHERE id="1"');

使用しているフレームワークはわかりませんが、クエリ結果を取得する方法を調べる必要があります。

于 2013-08-03T13:36:19.487 に答える
1

上のコメントに書いた通りです。私は推測します

$result = $this->query('SELECT email FROM users WHERE id="1"');

ステートメントは文字列を返しません。おそらく、配列または結果リソースを返します。で変数を印刷できます

var_dump($result);

配列の場合は試してください

$template->set('someval', $something['email']);

結果リソースの場合は、おそらく最初にデータを取得する必要があります。それがmysqlリソースである場合、それは次のようなものです

$arrayData = mysql_fetch_assoc($result);

どちらでもない場合は、フレームワークのドキュメントを確認する必要があります。

于 2013-08-03T13:47:28.967 に答える