【问题标题】:can any one guide me谁能指导我
【发布时间】:2014-09-14 09:02:17
【问题描述】:

我已经成功地提取了学生的详细信息,即姓名、班级、部门……因为它是一个考勤管理系统。但是我在保存数据库中的所有值时遇到了问题,即 Name 、 Class 、 Section 、 Status (P/A) 。贝娄出席提交代码...请指导我。 // 显示值

<input type="hidden" id="" name="locationID[]"/><?=$i;?></div></input>
<input type="hidden" id="" name="name[<?=$name;?>]"/><?=$name;?></input>


    <?php
include('config.php');
@session_start();
$sessionName = $_SESSION['NAME'];
$date = date('d-m-y');
$loc= $_POST['locationID'];
$name = $_REQUEST['name'];
$status = $_POST['status'];
$class = $_POST['class'];
$section = $_POST['section'];
for( $i = 0; $i < count($loc); $i++ )
{

    $sql = "INSERT INTO tbl_attendence (fld_studentname,fld_status,fld_class,fld_section,fld_date,fld_takenby)
            VALUES ('$name','$status','$class','$section','$date','$sessionName')";
        //echo $sql; exit;

    mysql_query($sql);
}
?>

运行此代码后,我得到了数组,在所有列中...请指导我...

【问题讨论】:

  • 请为您的问题使用正确的标题。另外,删除session_start 前面的@ - 如果它失败了,你就做错了。另请阅读有关 SQL 注入的信息。您的代码很容易受到攻击!
  • 危险:您使用的是an obsolete database API,应该使用modern replacement。您也容易受到SQL injection attacks的影响,现代 API 可以让您更轻松地从 defend 中获得。

标签: php mysql


【解决方案1】:

假设您在 POST 中返回值数组,可能的解决方案是

$sql = "INSERT INTO tbl_attendence (fld_studentname,fld_status,fld_class,fld_section,fld_date,fld_takenby)
            VALUES ('{$name[$i]}','{$status[$i]}','{$class[$i]}','{$section[$i]}','{$date[$i]}','{$sessionName[$i]}')";

建议: 1. 避免你的代码被 SQL 注入 2.当你看到这种Array而不是values的问题时,使用XDebug或使用print_r()来正确调试是什么问题。

【讨论】:

    猜你喜欢
    • 2022-06-16
    • 2021-12-22
    • 2022-11-07
    • 1970-01-01
    • 2022-08-10
    • 2011-04-29
    • 2014-12-26
    • 1970-01-01
    • 2019-03-09
    相关资源
    最近更新 更多