【发布时间】:2022-03-16 01:46:31
【问题描述】:
我有一个带有multiple="multiple" 的选择标签。并且用户可以选择多个值。
<label for="aoi">Area of Interest:</label>
<select id="sel_aoi" name="aoi" multiple="multiple">
<option value="hr-executive">HR Executives</option>
<option value="sr-manager">Sr. Manager</option>
<option value="service-advisor">Service Advisor</option>
<option value="production">Production Engineer</option>
<option value="mechanical">Mechanical Engineer</option>
</select>
如何将这些多个选定的值存储在 MySQL 数据库的单个字段中?
【问题讨论】:
-
序列化:
$aoi = msqli_real_escape_string($db, json_encode($_POST['aoi'])); -
谢谢贾里德!它对我有用。 'mysqli' 的代码有书写错误。 MySQL 和 MySQLI 有什么区别。它用 mysql_connect() 给了我一个警告,但用 mysqli_connect() 工作正常。
-
这不是错字。您应该使用
mysqli库;mysql是旧的和过时的并且也deprecated,这意味着它最终将被删除。在此处阅读有关mysqli的更多信息:php.net/manual/en/intro.mysqli.php 另一个选项是 PHP Data Objects, or PDO,它是一个抽象的数据连接器,它不会将您的代码紧密耦合到任何特定的库,例如mysql或mysqli。 -
另请注意,当您将其从数据库中拉出时,在这种情况下您使用
json_decode($val)进行反序列化,这将返回原始数组。