AnsweredAssumed Answered

Edit Form PHP PDO

Question asked by sarojthapa60 on Sep 1, 2016

I have a table in SQL Server database. I created an "edit.php" where we can update the database. The database connection is established using PDO. The issue is: I have a lot of Null values in the table. When I click "Edit" option, the form pops out. If I completely fill the records, the database gets updated. Otherwise I get this error message. SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Error converting data type nvarchar to numeric.

 

The codes for my edit.php are included below:

 

require_once('database.php');
if (isset($_POST['btn_submit'])) {       
   $id
= $_POST['txt_id'];       
   $site
= $_POST['txt_site_code'];       
   $location
= $_POST['txt_location_name']; 

try {      
$stmt
= $conn->prepare("UPDATE MATRIX SET Site_Code=:site,
               Location_name=:location WHERE OBJECTID =:id"
);
$stmt->execute(array(':site' => $site, ':location' => $location,':id' => $id));
if ($stmt) {                    
   header
('Location:index.php');               
}            
} catch (PDOException $e) {              
echo $e
->getMessage();           
}
}    
$object_id
= '';   
$site
= '';   
$location
= ''; 

if (isset($_GET['id'])) {       
      $id
= $_GET['id'];       
      $stmt
= $conn->prepare("SELECT * FROM MATRIX WHERE OBJECTID=:id");       
      $stmt
->execute(array(':id' => $id));       
      $row
= $stmt->fetch();       
      $object_id
= $row['OBJECTID'];       
      $site
= $row['Site_Code'];       
      $location
= $row['Location_name'];
}
?>   
<h2>Edit the records</h2>    
<form action="" method="post">       
   
<table border="3px" cellpadding="5px">            

   
<tr>               
      
<td>Site Code</td>               
      
<td><input type="text" name="txt_site_code"  value="<?= $site; ?>"></td>           
   </tr>            

   
<tr>               
      
<td>Location Name</td>               
      
<td><input type="text" name="txt_location_name" value="<?= $location; ?>"></td>           
   
</tr>             

   
<tr>               
   
<td><input type="hidden" name="txt_id" value="<?= $object_id; ?>"></td>               
   
<td><input type="submit" name="btn_submit" value="Submit"></td>           
   
</tr>
</table>
</form>

 

 

Thanks

Outcomes