In the custom table, I try to update a specific column with using $wpdb->update class and using HTML form for updating one column that has same id (in here dlname Is ID of data ).
The problem is this When I trying to update the column in my table using HTML form The page only will Refresh
BUT When I manually set ID in codes and THEN typing and submitting new value by HTML form it will work like charm.
It seems to be machine cannot understand the value that inputted from the form This is my code :
<?php
if(isset($_POST['btnUpdate'])){
global $wpdb;
$table_name='wp_AR_tb_name';
$data_array = array(
'dstatus' => $_POST['dstatuschange'],
'downloadname' => $_POST['dlname'],
);
$data_where = array('downloadname' =>'dlname');
$wpdb->update($table_name,$data_array,$data_where);
}
And this is my Form :
<form method="POST">
<label> Input One : </label>
<input type="text" name="dlname"/>
<label> Input Two : </label>
<input type="text" name="dstatuschange" />
<button type="submit" name="btnUpdate"> Submit </button>
</form>
In the custom table, I try to update a specific column with using $wpdb->update class and using HTML form for updating one column that has same id (in here dlname Is ID of data ).
The problem is this When I trying to update the column in my table using HTML form The page only will Refresh
BUT When I manually set ID in codes and THEN typing and submitting new value by HTML form it will work like charm.
It seems to be machine cannot understand the value that inputted from the form This is my code :
<?php
if(isset($_POST['btnUpdate'])){
global $wpdb;
$table_name='wp_AR_tb_name';
$data_array = array(
'dstatus' => $_POST['dstatuschange'],
'downloadname' => $_POST['dlname'],
);
$data_where = array('downloadname' =>'dlname');
$wpdb->update($table_name,$data_array,$data_where);
}
And this is my Form :
<form method="POST">
<label> Input One : </label>
<input type="text" name="dlname"/>
<label> Input Two : </label>
<input type="text" name="dstatuschange" />
<button type="submit" name="btnUpdate"> Submit </button>
</form>
First, an observation: the line highlighted below is correct as per your logic? This query will set the dstatus
and downloadname
fields in a row as $_POST['dstatuschange']
and $_POST['dlname']
if downloadname
field is the 'dlname'
string. Maybe you wanted to put the $_POST['dlname']
variable in your WHERE
condition?
Second, wordpress custom POSTs work much better if you use the standard wordpress way to manage them. Look at this answer to see how to handle properly a custom form submission.
dlname
in db? codex.wordpress/Class_Reference/wpdb#UPDATE_rows may help. Pay attension toformat
andwhere_format
. – Qaisar Feroz Commented Feb 23, 2019 at 13:55