3

私は2つのテーブルを持っています:

table1: id、user_id、poll_id、options_id

table2: id、poll_id、投票

列の投票は整数であり、いくつかの where 句でテーブルを結合して値を変更したい:

$this->db
->set('votes', 'votes - 1', FALSE)
->join('table1', 'poll_votes.options_id = table2.id')
->where('poll_id', $row)
->where('user_id', $id)
->update('table2');

次のエラーが表示されます。

エラー番号: 1054
「where句」の不明な列「user_id」
UPDATE `table2` SET 票 = 票 - 1 WHERE `poll_id` = '9' AND `user_id` = '1'
4

2 に答える 2

9

これを試してください:

$this->db->set('votes', 'votes - 1', FALSE)
$this->db->where('table1.user_id',$id);
$this->db->where('table2.poll_id',$row);
$this->db->update('table1 join table2 ON table1.poll_id= table2.poll_id');
于 2013-07-30T18:22:27.647 に答える
0

これを試してください。それは私のために働いた!!!

$data = array(
    'a.ED_FName' => $_POST['firstname'],
    'a.ED_MName' => $_POST['middlename'],
    'a.ED_LName' => $_POST['lastname'],
    'a.ED_Location' => $_POST['location'],
    'a.ED_Company' => $_POST['company'],
    'b.EMD_Department' => $_POST['department']
);

$this->db->set($data);

$this->db->where('a.EmpID', $empID);

$this->db->where('b.EmpID', $empID);

$this->db->update('tbl_employeedetails as a, tbl_employeementdetails as b');

よろしく、 TUSHAR NIRAS

アップデート:

注: $_POST、$_GET などのグローバル配列を使用して、ユーザーの要求データをセキュリティ チェックなしで直接使用しないでください。これは、SQL インジェクションなどの深刻な問題につながる可能性があります。

于 2015-06-27T09:53:30.770 に答える