私は複数の選択ボックスから選択された項目で次の配列を持っています。IDに関連付けられた配列の各要素をcodeigniterを使用してデータベーステーブルに挿入します
array (size=2)
0 => string 'CABLES' (length=6)
1 => string 'PCR' (length=3)
私はidProveedor = 1のために、私が選択したすべての項目の配列値を挿入する必要があるので、次のような構造
`idProveedor` int(11) NOT NULL,
`idFamilia` int(11) NOT NULL
でテーブルにこれらの値を挿入するには、「relacionproveedorfamilia」をしようとしています。
idProveedor idFamilia
1 1
1 2
1 ...
ものは、それらがアレイ状に有している数字を異なるID番号を持っている「ファミリア」と呼ばれる別のテーブルに格納されている(ETCケーブル、PCR)アレイからの値です。私のコントローラで
id clave description
1 PCR ...
2 CABLES ...
、私はidProveedorのためのIDと配列$ nombresFamiliaを取得し、私はこれは私が私のモデルを持っている機能です
$idProveedor = $this->Proveedormodel->get_idConsecutivo();
$nombresFamilia = $this->input->post('nombresFamilia');
$relacion_proveedor = $this->Proveedormodel->add_uk_proveedor_familia($idProveedor, $nombresFamilia);
関数$ relacion_proveedorを呼び出します。最初に配列の文字列を使ってテーブル "familia"からid値を取得し、テーブル "relacionproveedorfamilia"に値を挿入します。
function add_uk_proveedor_familia($id, $params){
foreach($params as $clave){
$valor = $this->db->query("SELECT id FROM familia WHERE clave= '$clave'");
$vl = mysql_fetch_array($valor);
$familia = $vl['id'];
$this->db->query("INSERT INTO 'relacionproveedorfamilia' ('idProveedor', 'idFamilia') VALUES ('$id', '$familia')");
}
}
私は警告メッセージが表示されます情報を提出しよう:
Message: mysql_fetch_array() expects parameter 1 to be resource, object given
Filename: models/Proveedormodel.php
Line: $vl = mysql_fetch_array($valor);
は間違いなく私のモデル内の関数は、私はそれを修正することができるか、間違っていますか?
なぜあなたは 'mysql_fetch_array'を使用していますか? –
似たような質問がありました。私はそれを削除する必要がありますか?代わりに私は何を使うべきですか? – raptorandy
https://www.codeigniter.com/user_guide/database/results.htmlをご覧ください。 –