Reputation: 27
I seem to be having an issue when it come to updating a database using PHP. I keep getting the error:
ERROR: Could not able to execute UPDATE settings SET value='0' WHERE id='2'. Unknown column 'value' in 'field list'
but the Column "value" does exist, and I have tried what people have previously said when asking the same question about it error but nothing has worked so far. what would be the reason behind this not working?
Full Code:
require 'config.php';
$link = mysqli_connect("LocalHost", "PSRPCADM", "999989Ki9?", "PSRPC");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
if(isset($_POST['Monday']) &&
$_POST['Monday'] == 'Yes')
{
$monday = "1";
}
else
{
$monday = "0";
}
// attempt insert query execution
$sql = "UPDATE settings SET value='$monday' WHERE id='2'";
if(mysqli_query($link, $sql)){
echo "it worked";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
// close connection
mysqli_close($link);
Upvotes: 0
Views: 1052
Reputation: 34
Try This
$sql = "UPDATE `settings` SET `value`='".$monday."' WHERE id='2'";
hope this help
Upvotes: 1
Reputation: 46239
value
is a keyword in mysql you can try to use quote character between value
"UPDATE settings SET `value`='$monday' WHERE id='2'"
Upvotes: 2
Reputation: 70
$sql = "UPDATE settings SET value='$monday' WHERE id='2'";
In this line you're inputting the string '$monday', not the content of $monday. Perhaps the error was thrown because in the database 'value' don't support strings. Couldn't find any other errors.
Upvotes: 0