获取PHP时遇到错误

获取PHP时遇到错误,php,mysql,codeigniter,controller,notice,Php,Mysql,Codeigniter,Controller,Notice,我是codeigniter的新手,还在学习。我想从我的数据库中显示一个产品,其中包含product\u id、product\u name等表 遇到一个PHP错误 严重性:通知 消息:未定义变量:id 文件名:controllers/mysite.php 电话号码:37 下面是我的控制器: public function product() { $this->load->model('products'); $data['rows3'] = $this->

我是codeigniter的新手,还在学习。我想从我的数据库中显示一个产品,其中包含product\u id、product\u name等表

遇到一个PHP错误

严重性:通知

消息:未定义变量:id

文件名:controllers/mysite.php

电话号码:37

下面是我的控制器:

public function product()

{   
    $this->load->model('products');
    $data['rows3'] = $this->products->product($id);
    $this->load->view('mysite/include/product-left');
    $this->load->view('mysite/product-content',$data);
    $this->load->view('mysite/include/product-related');
    $this->load->view('mysite/include/footer');


}
function product($iUserID)
{
    $q = $this->db->query("SELECT * FROM product WHERE product_id  ='".$id."'");
    if($q->num_rows > 0)
    {
        return $q->row_array();
    }
    else
    {
        return '';
    }
}
下面是我的型号

<?php
 class products extends CI_Model{

   function product($id){

    $q3 = $this->db->query("SELECT * FROM product WHERE product_id  ='".$id."'");

    if($q3->num_rows() > 0){

        foreach($q3->result() as $row){

           $data[] = $row;

        }
        return $data;
        }       
    }   
}

控制器$id中的
未定义

$data['rows3'] = $this->products->product($id);
编辑:

试试这个:

public function product()    
{   
    $this->load->model('products');
    $id = $this->uri->segment(6);
    $data['rows3'] = $this->products->product($id);
    $this->load->view('mysite/include/product-left');
    $this->load->view('mysite/product-content',$data);
    $this->load->view('mysite/include/product-related');
    $this->load->view('mysite/include/footer');
}
在型号中:

public function product()

{   
    $this->load->model('products');
    $data['rows3'] = $this->products->product($id);
    $this->load->view('mysite/include/product-left');
    $this->load->view('mysite/product-content',$data);
    $this->load->view('mysite/include/product-related');
    $this->load->view('mysite/include/footer');


}
function product($iUserID)
{
    $q = $this->db->query("SELECT * FROM product WHERE product_id  ='".$id."'");
    if($q->num_rows > 0)
    {
        return $q->row_array();
    }
    else
    {
        return '';
    }
}

您在哪里定义$id?您是否通过url将任何值或id传递给控制器操作?这就是我感到困惑的地方。。我想将$id与数据库表中的product_id匹配。是的,我正在url中传递产品id值。因此,单击的任何产品链接都会从上面我在控制器中定义的$id代码中转到URLA末尾的产品id。@BabarAli但是$id中的内容是什么?我对这一部分感到困惑。。我没有单独定义$id变量。。如何使用它来匹配url中产品id的查询字符串。正如我在product($id)的模型和controller中定义的那样。我是否也必须在其他地方定义它???@kiren Siva,bro尝试过,但遇到了一个PHP错误严重性:注意消息:未定义索引:product_idpass一些值到$idies,当我传递一些$id='1'时;或任何其他产品的id值,我得到所需的产品。但是这不是动态的,这就是为什么我告诉你动态地传递id值。你也可以发布HTML代码吗?当你提交表单时,那时候也传递产品id的值