Skip to main content

Error Number 1054 Unknown column �Array’ in �where clause’

July 13, 2011 by poponsupopon

poponsupopon's picture

A Database Error Occurred

Error Number: 1054

Unknown column 'Array' in 'where clause'

SELECT `bts`.`site_name`, `bts`.`site_id` FROM (`bts`) WHERE `bts`.`site_name` = Array

cuplikan controller..
di sini saya meanggil fungsi get_site_id di Modulwr_model..

			// Set validation rules
			$this->form_validation->set_rules('tgl[]', 'Tgl', 'required');
			$this->form_validation->set_rules('site_name[]', 'Site name', 'required');
			$this->form_validation->set_rules('site_id[]', 'Site ID');
			$this->form_validation->set_rules('kegiatan[]', 'Kegiatan', 'required');
			$this->form_validation->set_rules('pic[]', 'Pic', 'required');
 
			if ($this->form_validation->run() == TRUE)
			{
 
				$tgl=$_POST['tgl'];
				$site_name=$_POST['site_name'];
				$kegiatan=$_POST['kegiatan'];
				$pic=$_POST['pic'];
				$area=$_POST['area'];
				$count = count($_POST['site_name']);
				$site_id = $this->Modulwr_model->get_site_id()->result();
 
				for($i=0; $i<$count; $i++) {
					$data = array(
				           'tgl' => $tgl[$i], 	
				           'site_name' => $site_name[$i],
				           'site_id' => $site_id[$i],
				           'kegiatan' => $kegiatan[$i],
				           'pic' => $pic[$i],
				           'area' => $area[$i],
        				   );
 
				  $this->db->insert('data_wr', $data);
				}
 
				redirect('modulwr/inputwr_success');
			}
			else
			{		
				$this->load->view('templatemodulwr', $data);
			}

ini cuplikan function di model yg dipanggil

		/**
	 * Mendapatkan data site_id dari site_name
	 */
	function get_site_id()
	{
		$go = $this->input->post('site_name');
		$this->db->select('bts.site_name, bts.site_id');
		$this->db->from('bts');
		$this->db->where('bts.site_name', $go);
		return $this->db->get();
	}

adakah saran?
thanks in advance

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

BLS:

July 13, 2011 by syabac, 11 weeks 2 days ago
Comment: 8574

syabac's picture

di akhir MODEL coba diganti begini.

$row = $this->db->get()->row();
return is_object($row) ? $row->site_id : null;

nah di CONTROLLER pas ambil site_id:

$site_id = $this->Modulwr_model->get_site_id();

fyi, method  $this->db->get()->result() mengembalikan nilai berupa Array.
itulah sebabnya kenapa query yg dihasilkan ada tulisan Array querynya. karna kalo Array digunakan dalam konteks string, akan dijadikan string "Array".

soalnya memang inputnya

July 13, 2011 by poponsupopon, 11 weeks 2 days ago
Comment: 8578

poponsupopon's picture

soalnya memang inputnya berupa array

	            <td><select name="site_name[]" <option value="<?php echo form_dropdown('site_name[]', $options_site_name, isset($default['site_name']) ? $default['site_name'] : ''); ?></td>

pada contoller sudah saya

July 13, 2011 by poponsupopon, 11 weeks 2 days ago
Comment: 8575

poponsupopon's picture

pada contoller sudah saya ganti menjadi
$site_id = $this->Modulwr_model->get_site_id();

modelnya saya ganti seperti ini maksudnya?

		/**
	 * Mendapatkan data site_id dari site_name
	 */
	function get_site_id()
	{
		$site_name = $_POST['site_name'];
		$this->db->select('bts.site_name, bts.site_id');
		$this->db->from('bts');
		$this->db->where('bts.site_name', $site_name);
		$row = $this->db->get()->row();
		return is_object($row) ? $row->site_id : null;
	}

kok masih keluar seperti ini ya

A Database Error Occurred

Error Number: 1054

Unknown column 'Array' in 'where clause'

SELECT `bts`.`site_name`, `bts`.`site_id` FROM (`bts`) WHERE `bts`.`site_name` = Array

sepertinya masalahnya ada di
"$this->db->where('bts.site_name', $site_name);"

hmmm

bls:

July 13, 2011 by syabac, 11 weeks 2 days ago
Comment: 8579

syabac's picture

ooh, ga liat kalo sitename yg dari user berupa array.
jadi maunya ambil ID dari sitename ya.
diubah gini:

//MODEL
function get_site_id($name)
{
    $this->db->select('bts.site_name, bts.site_id');
    $this->db->from('bts');
    $this->db->where('bts.site_name', $name);
    $row = $this->db->get()->row();
    return is_object($row) ? $row->site_id : null;
}
 
//CONTROLLER
if ($this->form_validation->run() == TRUE)
{
     $tgl=$_POST['tgl'];
     $site_name=$_POST['site_name'];
     $kegiatan=$_POST['kegiatan'];
     $pic=$_POST['pic'];
     $area=$_POST['area'];
     $count = count($_POST['site_name']);
 
 
     for($i=0; $i<$count; $i++) {
          $data = array(
                  'tgl' => $tgl[$i],      
                  'site_name' => $site_name[$i],
                  'site_id' => $this->Modulwr_model->get_site_id($site_name[$i]),
                  'kegiatan' => $kegiatan[$i],
                  'pic' => $pic[$i],
                  'area' => $area[$i],
                  );
 
       $this->db->insert('data_wr', $data);
     }
 
     redirect('modulwr/inputwr_success');
}

berhasiiilllll.. waahh

July 13, 2011 by poponsupopon, 11 weeks 2 days ago
Comment: 8580

poponsupopon's picture

berhasiiilllll.. waahh makasih ya..

Premium Drupal Themes by Adaptivethemes