Handle database run time Error : PHP
Error handling is important the same as coding because without error handling you can't get the actual problem when something is not happening as you want. Without error handling, you will waste your precious time and sometimes fail to achieve the task in a given deadline. So I have made this post to handle PHP database run time error in a simple way.
Post Details
- This post is designed to save contact page data
- You will be redirected to the success page when data saved successfully otherwise error page with a related message.
- Database code is in a class
Contact Page code
$msg="";
if(isset($_POST["submit"]))
{
$ob=new tradeinsert();
$msg=$ob->SaveContact($_POST["txtName"],$_POST["txtPhone"],$_POST["txtSubject"],$_POST["txtMessage"]);
if($msg=="1")
header("location:thanks.php?id=Thanks for contact us our representative will call you very soon");
else
header("location:error.php?id=$msg");
}
HTML Page
<form method="post">
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<input type="text" class="form-control" name="txtName" placeholder="Your Name" value="" required>
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<input type="text" class="form-control" name="txtPhone" placeholder="Your Phone" value="" pattern="[0-9]{10}" title="Only 10 digit phone
number is allowed" required>
</div>
</div>
<div class="col-12">
<div class="form-group">
<input type="text" class="form-control" name="txtSubject" placeholder="Your Subject">
</div>
</div>
<div class="col-12">
<div class="form-group">
<textarea name="txtMessage" class="form-control" cols="30" rows="10" placeholder="Your Message"></textarea>
</div>
</div>
<div class="col-12">
<input type="submit" value="Send" class="btn credit-btn mt-30" name="submit">
</div>
</div>
</form>
Database Code
function SaveContact($name,$phone,$subject,$message)
{
$stmt = $this->conn->stmt_init();
if ($stmt->prepare("insert into tradecontact (id,name,phone,subject,message,createddate) values(NULL,?,?,?,?,?)"))
{
$stmt->bind_param("sssss", $a1, $a2, $a3,$a4,$a5) or die( "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error);
$a1 = $name;
$a2 = $phone;
$a3 = $subject;
$a4 = $message;
$a5 = date("Y-m-d");
if($stmt->execute())
echo "<h1>Error db</h1>". $stmt->error;
else
echo "<h1>else</h1>";
$stmt->close();
return "1";
}
else
{
return "dberror ". mysqli_error($this->conn) ;
}
}
No comments:
Post a Comment