我在 mysql 存储数字值而不是我在表单中设置的值时遇到问题。
我在网上找不到我的问题或解决方案。
正在发生的事情的代码摘要。
HTML 表单代码:
<td><input type="checkbox" name="load_ericsson" value="Ericsson"> Ericsson</td>
Connect.php代码:
$load_ericsson = isset($_POST['load_ericsson']);
$sql = "INSERT INTO load_ericsson (contract) VALUES ('$load_ericsson')";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
phpmyadmin 中的结果: 它应该说“Ericsson”作为条目中的值(因为这是 html 表单中的值)。
相反,load_ericsson 表中的契约(Contract)列的值为“1”
最佳答案
isset($_POST['load_ericsson'])
的值将为 true
或 false
。此外,最好使用 PDO 和准备好的语句来避免 SQL 注入(inject),因为 mysql_*
函数已被弃用。
你需要这个:
if (isset($_POST['load_ericsson'])) {
$load_ericsson = $_POST['load_ericsson'];
//query with validation, sanitization, prepared statement here
}
关于Mysql存储一个数字而不是值集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849020/