gpt4 book ai didi

php - 复选框插入 MySql 数据库

转载 作者:行者123 更新时间:2023-11-29 05:44:20 25 4
gpt4 key购买 nike

我有一个调查类型的表格,在许多问题中,用户可以选择勾选多个框。

我将这些答案存储在 mysql 数据库中,但是目前,数据库只存储最后一个勾选的复选框。无论如何存储所有检查的值,可能用逗号或分号分隔?

这是我的代码:

        $q1 = mysql_escape_string($_POST['q1']);
$q2 = mysql_escape_string($_POST['q2']);
$q3 = mysql_escape_string($_POST['q3']);
$q4 = mysql_escape_string($_POST['q4']);
$q5 = mysql_escape_string($_POST['q5']);
$q6 = mysql_escape_string($_POST['q6']);
$q7 = mysql_escape_string($_POST['q7']);
$q8 = mysql_escape_string($_POST['q8']);
$q9 = mysql_escape_string($_POST['q9']);
$q10 = mysql_escape_string($_POST['q10']);
$q11 = mysql_escape_string($_POST['q11']);
$q12 = mysql_escape_string($_POST['q12']);
$q13 = mysql_escape_string($_POST['q13']);
$q14 = mysql_escape_string($_POST['q14']);
$email = mysql_escape_string($_POST['email']);

require_once('connection.php');

$sql="INSERT INTO survey (Question1, Question2, Question3, Question4, Question5, Question6, Question7, Question8, Question9, Question10, Question11, Question12, Question13, Question14, eMail) VALUES ('$q1', '$q2', '$q3', '$q4', '$q5', '$q6', '$q7', '$q8', '$q9', '$q10', '$q11', '$q12', '$q13', '$q14', '$email')";

if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}

mysql_close($conn);

最佳答案

首先,mysql_escape_string 已贬值 - 您应该使用 mysql_real_escape_string。

其次,这将允许任何恶意的人在结果中插入不同的值,例如 2 和 3。您需要使每个值都符合 0 或 1。为此,我建议您先转换为 bool,然后再转换为 int:

$q1 = (int)((bool)$_POST['q1']);
$q2 = (int)((bool)$_POST['q2']);
...

对于您的 HTML,每个复选框都需要一个值为“1”的值属性。

因为它们只是整数,所以没有必要对它们进行转义。

关于php - 复选框插入 MySql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com