我是否正确编写了INSERT查询?

时间:2013-05-14 09:00:36

标签: php mysqli

这是我的代码:

        <?php
       include('admin/class.php');

这是我的数据库连接:

       $link = mysqli_connect("localhost", "root", "", "timesheet1234");

以下是保存按钮的操作:

        if(isset($_POST['save']))
        {  
        $user=$_SESSION['user'];
        $sel =$_POST["selpro"];
        $mon =$_POST["mon"];
        $tue =$_POST["tue"];
        $wed =$_POST["wed"];
        $thu =$_POST["thu"];
        $fri =$_POST["fri"];
        $sat =$_POST["sat"];
        $sun =$_POST["sun"];    

检查$ user是否在db中:

        $sql=mysqli_query($link,"select * from emp   
                       where username='".$_SESSION['user']."'");
        $res=mysqli_num_rows($sql);

这里检查是否插入不是:

        if($res==0)
        {
          $sql1 = mysqli_query($link,"INSERT INTO  emp SET username='$user',
         project code='$sel',mon=$mon,tue=$tue,wed=$wed,
                  thu=$thu,fri=$fri,sat=$sat,sun=$sun");

问题来了:

         if($sql1){
         echo "<script type='text/javascript'>";
         echo "alert('TimeSheet Saved..!')";
         echo "</script>";
         echo "<script type='text/javascript'>";
         echo "window.location='my_tm.php'";
         echo "</script>";
         }
          else
          {
         echo "<script type='text/javascript'>";
         echo "alert('Some Error Occured ! Retry..!')";
         echo "</script>";
         echo "<script type='text/javascript'>";
         echo "window.location='my_tm.php'";
         echo "</script>";
         }
         }
         }
         ?>

2 个答案:

答案 0 :(得分:0)

if($res==0)不是问题吗?因为您检查会话用户是否在数据库中并在$res中存储行数。所以我猜你想在$res==1(一个用户)时插入查询,而不是在没有用户时插入。

通常,您也可以完全控制会话变量。因此,一旦您将用户存储在那里,您就可以相信它的存在。除非您在身份验证过程中犯了错误。

同样在您的JavaScript代码中,您希望使用window.location.href='my_tm.php更改网址,而不仅仅是window.location

答案 1 :(得分:0)

尝试将此作为插入查询

 $sql1 = mysqli_query("INSERT INTO  emp SET username='$user',
         `project code`='$sel',mon='$mon',tue='$tue',wed='$wed',
                  thu='$thu',fri='$fri',sat='$sat',sun='$sun'",$link);

project code列有空格