2016-04-09 24 views
0

Denetleyicide bu sorgu var. Veritabanındaki basit bir ekleme verisidir.Sorgulama cakephp çalışmıyor

$this->User->query('INSERT INTO users(CF,phone,username,email,city,firstname,lastname,active,group_id) VALUES ('$CF','$phone','$username','$email','$city','$name','$name','$active','$group_id')'); 

Ve bu modelidir:

<?php 
App::uses('AppModel', 'Model'); 
/** 
* User Model 
* 
* @property Group $Group 
* @property User $ParentUser 
* @property User $ChildUser 
* @property Facility $Facility 
* @property ServiceCategory $ServiceCategory 
*/ 
class User extends AppModel { 

/** 
* Display field 
* 
* @var string 
*/ 
    public $displayField = 'name'; 


    //The Associations below have been created with all possible keys, those that are not needed can be removed 

/** 
* belongsTo associations 
* 
* @var array 
*/ 


public $virtualFields = array(
    // 'name' => 'CONCAT(User.lastname, " ", User.firstname)' 
    'name' => 'CONCAT(lastname, " ", firstname)' 
); 


    public $belongsTo = array(
     'Group' => array(
      'className' => 'Group', 
      'foreignKey' => 'group_id', 
      'conditions' => '', 
      'fields' => '', 
      'order' => '' 
     ), 'Gender' 
    ); 

    public $hasMany = array('Bid'); 

/** 
* hasAndBelongsToMany associations 
* 
* @var array 
*/ 
    public $hasAndBelongsToMany = array(
     'Facility' => array(
      'className' => 'Facility', 
      'joinTable' => 'facilities_users', 
      'foreignKey' => 'user_id', 
      'associationForeignKey' => 'facility_id', 
      'unique' => 'keepExisting', 
      'conditions' => '', 
      'fields' => '', 
      'order' => '', 
      'limit' => '', 
      'offset' => '', 
      'finderQuery' => '', 
     ), 
     'ServiceCategory' => array(
      'className' => 'ServiceCategory', 
      'joinTable' => 'service_categories_users', 
      'foreignKey' => 'user_id', 
      'associationForeignKey' => 'service_category_id', 
      'unique' => 'keepExisting', 
      'conditions' => '', 
      'fields' => '', 
      'order' => '', 
      'limit' => '', 
      'offset' => '', 
      'finderQuery' => '', 
     ) 
    ); 

} 

Fakat cevap boş sayfası. Cakephp sürümü 2'dir. Herkes yardımcı olabilir mi? Bana nerede yanlış olduğumu açıklarsan ben de aynı hatayı tekrarlamayacağım.

cevap

1

Hata ayıklama düzeyinizin 0 olması olası sorun (yani gerçek hatanın ne olduğunu göstermeyecektir). config/core.php'unuzda hata ayıklamayı 2'ye değiştirmeyi deneyin ve dosyayı tekrar çalıştırın.

bu kadar değil, bir .php dosyada yakın ?> etiketinden sonra bazı boşluk varsa boş bir sayfa bazen oluşabilir (vb Kontrolör/Model/Bileşen/...) Dosyalarınızın sonunda bakın ve gereksiz kapanış ?> etiketlerinden kurtulmak (php etiketlerini bir php dosyasında kapatmanız gerekmez).

1

Muhteşem bir ORM'ye sahip bir çerçeve kullanırken neden böyle ekler eklersiniz. Çözümünüz, uygulamanızı SQL-enjeksiyonlarına açar.

Doğru şekilde yapın.

$data = array(
    'CF' => $CF, 
    'phone' => $phone, 
    'username' => $username, 
    'email' => $email, 
    'city' => $city, 
    'name' => $name, 
    'active' => $active, 
    'group_id' => $group_id 
); 

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

http://book.cakephp.org/2.0/en/models/saving-your-data.html