0

私は CakePHP の初心者であり、初心者として苦労しました。誇張していないことを願っています。データベースにデータを挿入できないことがわかったとき、単純な登録アプリケーションをコーディングする正しい軌道に乗っていたと思います。私のデータベースの名前は「cake」で、これがデフォルトの設定です:

public $default = array{
    'datasource'=>'Database/Mysql',
    'persistent'=>false,
    'host'=>'localhost',
    'login'=>'root',
    'password'=>'',
    'database'=>'cake',
    'schema'=>'',
    'prefix'=>''
}

ところで、ローカルホストのインデックス ページには、データベースに接続していると表示されています。

4

3 に答える 3

0

誰もこれについて言及していないようですが、データベース構成コードが実際に投稿したものである場合、構文エラーが発生するはずです。つまり、これ:

public $default = array{
    // ...
}

次のようになります。

public $default = array(
    // ...
);
于 2012-04-01T21:23:53.350 に答える
0

これらを試してください

  • あなたのDB構成は、あなたがcakephp 2 +を使用していることを教えてくれます。

$this->User->save($this->request->data);

  • Config/core.php でデバッグ レベルを 0 より高く設定して、エラーが存在するかどうかを確認します。

  • 通常、検証のため、保存は機能しません。無効なフィールドをリストすることができます

debug($this->User->invalidFields()); // will only show when debug > 0

  • 下部の sql ログ (debug > 0 の場合のみ) に挿入クエリが表示されます。そのクエリを mysql フロント エンドから mysql に直接貼り付けてみてください。型や制約にエラーがないか確認してください。
于 2012-04-01T16:29:26.203 に答える
0

私のコードの一部は、実際には次のようなものでした:

  <?php class UsersController extends AppController { 
  function register() { 
      if (!empty($this->params['form'])) { 
        if ($this->User->save($this->params['form'])) { 
          $this->flash('Your registration information was accepted.', '/users/register');
      }

      else { 
          $this->flash('There was a problem with your registration', '/users/register'); } } } } ?> 

私がしたことは、すべての「$this->params['form']」を「$this->request->data」に変更したことです。魔法のように働きました。:)

于 2012-04-07T02:32:58.700 に答える