【发布时间】:2015-10-25 15:58:41
【问题描述】:
我有一个包含此字段的表单。从具有 2 列的技能表调用 - Skill_id(int) 和 Skill(varchar)。我希望用户为他们拥有的技能选择多个选项并将其添加到他们的信息中,但只有一个选项正在经历。
print ("<tr><td valign=top>Skill: </td><td><select name=uskill_id[0] size=3 multiple=multiple>");
global $wpdb;
$trade = $wpdb->get_results("select skill, skill_id from wp_skill", ARRAY_A);
foreach($trade as $row) {
$skill = $row['skill'];
$skill_id = $row['skill_id'];
print '<option value="'.$skill_id.'">'.$skill.'</option>';
}
这是将信息发送到数据库的插入语句。我已经从int类型变成了varchar类型的skill_id,但仍然没有运气。
global $wpdb; $success=$wpdb->insert('trades', array('skill_id' => explode(', ', $_POST['uskill_id[0]'])));
【问题讨论】:
-
使用复选框来选择多个选项,而不是下拉菜单。或检查
$_POST['uskill_id[0]']的值 -
问题是将具有多个值的数组作为字符串或整数发送到列。
-
我也收到此警告 - 警告:mysqli_real_escape_string() 期望参数 2 为字符串,数组在第 1092 行的 \wp-includes\wp-db.php 中给出
标签: php sql database wordpress forms