Php 数据未正确存储在数据库中
我使用此代码在数据库中存储值,但当我选中多个复选框时,只有一个eid值存储在数据库中(这应该是我选中的复选框中的“否”),并且rid值存储为0 错在哪里? 这是php代码Php 数据未正确存储在数据库中,php,Php,我使用此代码在数据库中存储值,但当我选中多个复选框时,只有一个eid值存储在数据库中(这应该是我选中的复选框中的“否”),并且rid值存储为0 错在哪里? 这是php代码 <?php //insert selected candidate in table //echo "checkcandi".$_POST['check_candi']; if(isset($_POST['select_candidate'])
<?php //insert selected candidate in table
//echo "checkcandi".$_POST['check_candi'];
if(isset($_POST['select_candidate']) && logged_in())
{
$checkcandi_sel = $_POST['check_candi'];
if(empty($checkcandi_sel))
{
echo("You didn't select any Candidates.");
}
else
{
$N = count($checkcandi_sel);
echo("You selected $N Candidate(s): ");
for($i=0; $i < $N; $i++)
{
echo($checkcandi_sel[$i] . " ");
$eid=$checkcandi_sel[$i];
echo "candi id".$eid;
}
}
//$rid=$value[1];
if(logged_in())
{
$emplyrid=$_SESSION['uid'];
echo "emplyrid".$emplyrid;
}
//$rid=$_GET['rid'];
//var_dump($emplyrid);
$query = "INSERT INTO selected_candidate (
eid,rid
) VALUES (
'{$eid}','{$emplyrid}'
)";
$result = mysql_query($query, $connection);
if ($result) {
$message = "<p style=\"color:green\">The Candidate selected and saved to your my seleted.</p>";
} else {
$message = "Sorry job was not applied.";
$message .= "<br />" . mysql_error();
}
}
?>
将for循环拉到insert查询附近,然后尝试此操作
$N = count($checkcandi_sel);
if($N > 0) {
for($i=0; $i < $N; $i++)
{
$eid=$checkcandi_sel[$i];
$query = "INSERT INTO selected_candidate (
eid,rid
) VALUES (
'{$eid}','{$emplyrid}'
)";
$result = mysql_query($query, $connection);
}
}
$N=计数($checkcandi_sel);
如果($N>0){
对于($i=0;$i<$N;$i++)
{
$eid=$checkcandi_sel[$i];
$query=“插入到所选候选项中”(
艾德,里德
)价值观(
“{$eid}”,“{$emplyrid}”
)";
$result=mysql\u查询($query,$connection);
}
}
您不能将数组添加到数据库中
"INSERT INTO selected_candidate (
eid,rid
) VALUES (
'{$eid}','{$emplyrid}'
)"
在此查询中,$eid将始终包含数组$checkcandi_sel的最后一个值,您可以将数组$checkcandi_sel转换为字符串并添加到数据库中
或
通过循环sql查询将其添加为多个条目。将sql查询放入foreach
if(count($checkcandi_sel) > 0) {
for($i=0; $i < count($checkcandi_sel); $i++) {
$eid=$checkcandi_sel[$i];
$query = "INSERT INTO selected_candidate ( eid,rid) VALUES ('{$eid}','{$emplyrid}' )";
$result = mysql_query($query, $connection);
}
}
if(计数($checkcandi_sel)>0){
对于($i=0;$i
使用相同的eid值将存储在数据库中twise@raj这在我的代码中是不可能的。它将仅插入选定的复选框值。它不会插入重复的值。请再次检查它。由于我是php新手,您能演示如何将其转换为字符串并存储到数据库吗?使用一些字符对数组进行内爆,例如:内爆(“,”,$checkcandi_sel),它将给出一个字符串。请检查您的代码是否正常工作,但为什么它会在数据库中存储最后一个选定的值两次,为什么我不会删除存储的值?请从代码底部删除您的$query=“INSERT INTO selected_candidate(
),不要重复编写。
if(count($checkcandi_sel) > 0) {
for($i=0; $i < count($checkcandi_sel); $i++) {
$eid=$checkcandi_sel[$i];
$query = "INSERT INTO selected_candidate ( eid,rid) VALUES ('{$eid}','{$emplyrid}' )";
$result = mysql_query($query, $connection);
}
}