开发者

status update error (null field)

开发者 https://www.devze.com 2022-12-23 11:57 出处:网络
hai guys... i .ve the problem that i cannot be recovered yet... i have one form where admin need to approve or reject the booking request...

hai guys... i .ve the problem that i cannot be recovered yet... i have one form where admin need to approve or reject the booking request... i've set the b_status field in table usage IN PROCESS default value... i want to update the b_status value BOOKING APPROVED when user click APPROVE button.. otherwise, the b_status will update the value as BOOKING REJECTED when user click on the REJECT button

here's is the form code:

<?php
     $db = mysql_connect('localhost','root') 
     or die ("unable to connect");
    mysql_select_db('fyp',$db) or die ("able to selec开发者_开发技巧t");

    $sql="SELECT * FROM vehicle WHERE v_status='READY'";

     $result = mysql_query($sql) or die ("Query failed!");  
 ?>
 <tr><td>&nbsp;</td></tr>
  <tr>
  <tr>
    <td width="200"><font face="Arial" size="2" font color="#000000">Registration Number </font></td>
    <td><select name="regno">
            <option value="" selected>--Registration No--</option>
            <?php while($row = mysql_fetch_array($result)){?>
            <option value="<?php echo $row['regno']; ?>"><?php echo $row['regno']; ?></option>
            <?php } ?>
        </select></td>
    <td><font face="Arial" size="2" font color="#000000">Reason</font></td>
  <td><textarea name="reason" rows="3" cols="50 "value = ""></textarea></td>
  </tr>
  <?php
     $db = mysql_connect('localhost','root') 
     or die ("unable to connect");
    mysql_select_db('fyp',$db) or die ("able to select");

    $sql="SELECT * FROM driver WHERE d_status='READY'";

     $result = mysql_query($sql) or die ("Query failed!");  
 ?>
  <tr>
    <td><font face="Arial" size="2" font color="#000000">Driver</font></td>
    <td><select id = "d_name" name="d_name">
      <option value="" selected>--Driver Name--</option>
      <?php while($row = mysql_fetch_array($result)){?>
      <option value="<?php echo $row['d_name']; ?>"><?php echo $row['d_name']; ?></option>
      <?php } ?>
    </select></td>
  </tr>
  <tr>
<?php                    
      mysql_close($db);
?>

</table>
<p></p>

<center><input name="APPROVED" type="submit" id="APPROVED" value="APPROVED"> 
<input name="REJECT" type="submit" id="REJECT" value="REJECT"> </center>

      </div>
    </center>

and this is the process page code:

<?php
     $db = mysql_connect('localhost','root') 
     or die ("unable to connect");
     mysql_select_db('fyp',$db)
     or die ("able to select");

    $bookingno=mysql_real_escape_string($_POST['bookingno']);
    $username=mysql_real_escape_string($_POST['username']);
    $name=mysql_real_escape_string($_POST['name']);
    $department=mysql_real_escape_string($_POST['department']);
    $g_date=mysql_real_escape_string($_POST['g_date']);
    $g_time=mysql_real_escape_string($_POST['g_time']);
    $r_date=mysql_real_escape_string($_POST['r_date']);
    $r_time=mysql_real_escape_string($_POST['r_time']);
    $destination=mysql_real_escape_string($_POST['destination']);
    $pass_num=mysql_real_escape_string($_POST['pass_num']);
    $trip_purpose=mysql_real_escape_string($_POST['trip_purpose']);
    $regno=mysql_real_escape_string($_POST['regno']);
    $d_name=mysql_real_escape_string($_POST['d_name']);
    $reason=mysql_real_escape_string($_POST['reason']);
    $b_status=mysql_real_escape_string($_POST['b_status']);


$sql = "INSERT INTO `usage` VALUES('$bookingno','$username','$name','$department','$g_date','$g_time','$r_date','$r_time','$destination', '$pass_num','$trip_purpose','$regno','$d_name','$reason','$b_status')";

                $query = "INSERT INTO `usage` VALUES b_status ='BOOKING APPROVED'";
                $result = @mysql_query($query);

                $query1 = "UPDATE driver SET d_status ='OUT' WHERE '$d_name'=d_name";
                $result1 = @mysql_query($query1);

if(isset($_POST['APPROVED']))
        {

            $query2 = "UPDATE `usage` SET b_status ='BOOKING APPROVED' WHERE '$b_status'='IN PROCESS'";
                $result2 = @mysql_query($query2);

        }


if (isset($_POST['REJECT']))
        {

            $query3 = "UPDATE `usage` SET b_status ='BOOKING REJECTED' WHERE '$b_status'='IN PROCESS'";
                $result3 = @mysql_query($query3);

        }



//$result = mysql_query($sql) or die ("error!");
$result = mysql_query($sql) or trigger_error (mysql_error().' in '.$sql); 

i.ve the problem on the b_status field.. plz guys... help me ya :-)


You're not checking to see if the queries actually succeeded. Change your code to the following:

$query = "INSERT INTO `usage` VALUES b_status ='BOOKING APPROVED'";
$result = @mysql_query($query);

if (mysql_error()) {
     die("Database error: " . mysql_error());
}

If you had proper error checking, you'd see your INSERT query is malformed. It should be written as follows:

INSERT INTO `usage` (b_status) VALUES ('BOOKING APPROVED');

Never EVER assume that a query will succeed, and ALWAYS ALWAYS check mysql_error() after a mysql_query() call. Even if the query itself is syntactically correct, it might fail for any number of other reasons.

0

精彩评论

暂无评论...
验证码 换一张
取 消