如何用php检查mysql中是否已存在id

时间:2016-06-26 15:54:41

标签: php mysql codeigniter activerecord mysqli

我想先检查数据库中是否存在 mycode_sn 。 如果 mycode_sn 不存在,请不执行任何操作。

这是功能:

function input_me_by_mycode($input_type, $input_id, $total_number)
    {
        if ($input_type == 'mycode') {
            $my_info = $this->db->get_where('mytable', array(
                'mycode_sn' => $input_id
            ))->row();

            }

                echo '<tr id="entry_row_' . $total_number . '">;

    }

我曾尝试过几种方式,但显然我不太清楚。

现在,在不存在的情况下,我收到消息:

  

遇到PHP错误严重性:通知消息:试图获取   非对象的属性

2 个答案:

答案 0 :(得分:1)

使用有效记录num_rows()来检查记录

public function input_me_by_mycode($input_type, $input_id, $total_number)
{
    if ($input_type == 'mycode') {
         $this->db->where('mycode_sn',$input_id);
         $query = $this->db->get('mytable');
         $result = $query->row();

       if ($query->num_rows() > 0)
            echo "ID Exist. ID is : ".$result->mycode_sn;
        } else {
            echo "ID doesn't Exist.";
        }

    } 
    else {
        echo "Input Type is not equesl to 'mycode' ";
    }   
}

答案 1 :(得分:0)

试试这个

public function input_me_by_mycode($input_type, $input_id, $total_number)
{
    if ($input_type == 'mycode') {
        $query = $this->db->query("SELECT * FROM mytable WHERE mycode_sn = '$input_id' ");
        $result = $query->result_array();

        if (!empty($result)) {
            echo "ID Exist. ID is : ".$result[0]['mycode_sn'];
        } else {
            echo "ID doesn't Exist.";
        }

    } 
    else {
        echo "Input Type is not equesl to 'mycode' ";
    }   
}