Кто-нибудь может сказать, что не так с этим запросом? - PullRequest
1 голос
/ 05 октября 2011
    $sql    =   "select * from instalmentsdetails_ where studentFeeId='$savestudentfees' AND instalmentName='$instlnamefdtls'";
    $query  =   $this->db->query($sql);
    if($query->num_rows() > 0){
        echo($id);
        $this->db->where('instalmentsDetailsId',$id);
        $this->db->update('instalmentsdetails_',$instldata);    
    }else{
        echo($id);
        $id='';
        echo($id);
        $sql=   "INSERT INTO instalmentsdetails_` (`instalmentsDetailsId`, `studentFeeId`, `instalmentName`, `amount`, `dueDate`, `status`) VALUES ('$id', '$savestudentfees', '$instlnamefdtls', '$amtfdtls', '2011-10-06', '1')";
        $id=$this->db->insert_id();
        $query  =   $this->db->query($sql);
        return $query;
    }
    return $id;

Этот запрос сначала проверяет, присутствуют ли какие-либо строки, если он есть, он собирается обновить старую запись, в противном случае он собирается создать новую запись, но по какой-то причине он не работает должным образомдаже когда запрос возвращает num_row() > 0. Это модель в codeigniter

1 Ответ

1 голос
/ 05 октября 2011

Вы проверили вывод $query->num_rows() ?, например, echo $query->num_rows()

Вы можете сделать это вместо этого и сохранить беспокойство в PHP

ALTER TABLE teami_db ADD UNIQUE INDEX(studentFeeId, instalmentName);

Затем вы можете выполнить ONDUPLICATE KEY UPDATE запрос, например, так.

INSERT INTO `instalmentsdetails_teami` (
  `instalmentsDetailsId`,
  `studentFeeId`,
  `instalmentName`,
  `amount`,
  `dueDate`,
  `status`
) VALUES (
  '$id',
  '$savestudentfees',
  '$instlnamefdtls',
  '$amtfdtls',
  '2011-10-06',
  '1'
) ON DUPLICATE KEY UPDATE
  `instalmentsDetailsId` = VALUES(`instalmentsDetailsId`),
  `studentFeeId`         = VALUES(`studentFeeId`),
  `instalmentName`       = VALUES(`instalmentName`),
  `amount`               = VALUES(`amount`),
  `dueDate`              = VALUES(`dueDate`),
  `status`               = VALUES(`status`)

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...