挿入プロセスがあります。私の開発はDrupal6の下にあります。そこで、次の方法を使用してデータベーステーブルに挿入しました。
$sid = $user->sid;
$data = array(
'nid' => $parent_nid,
'vid' => $parent_vid,
'uid' => $user_id,
'time_start' => time(),
'session_id' => $sid
);
drupal_write_record('quiz_node_results', $data);
ここでの問題は、 value を挿入していないことです$sid
。そのフィールドには常にデフォルト値 0 が挿入されます。ただし、他の値は正しく挿入されます。しかし、それには価値があります。を入れて確認しましたprint_r($data)
。
データベース テーブルでは、session_id
フィールドのデータ型はvarchar
です。
簡単な修正のために、実際の挿入クエリを作成して挿入しました。そのクエリは以下です。
$sql = "INSERT INTO {quiz_node_results}(nid, vid, uid, time_start, session_id) VALUES(".$parent_nid.",".$parent_vid.",".$user_id.",".time().", '".$sid."')";
db_query($sql);
正常に機能しており、値を正しく挿入しています。しかし、脆弱なので、この方法で挿入したくありません。
上記のものが機能しない理由を知りたいです。誰かが私が間違っていた場所を提案できますか?