0

私が本当にやりたいことは、codeigniter のコントローラー メソッドに渡すオプションのテキストを作成することです。

現在、私はこのようなものを持っています

public function manage($page = 1, $method = '', $id=0)
{
    //code
}

そのため、パラメーターが渡されない場合、ページネーションは正常に表示され、渡された場合は、ユーザーにフィードバックを提供するためにビューにいくつかの変数が設定されます。

ただし、試してみると次のエラーが発生します。

http://domain.path/to/controller/method/1/test/1

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1', 50' at line 5

SELECT CONCAT('so_',id,'_am'), value, updated, FROM words LIMIT '1', 50

そのため、何らかの理由でセグメントが文字列としてキャストされているようで、これがエラーの原因となっています。

この制約を回避する方法についてのアイデアはありますか?

4

1 に答える 1

1

クエリビルダーが文字列を自動的に引用符で囲んでいるようです。$page を int として明示的にキャストします。

$page = "4";
$offset = "4";
$qb->setLimit((int)$page,(int)$offset)
于 2011-05-26T01:02:38.667 に答える