I set the permissions for my sqlite database to 777, I can read everything but I cant write to the database with php. With python it's working! Here my code:
<?php
$image = htmlspecialchars($_GET["query"]);
$SQLITEdb = "/var/www/log.db";
$db = db_con($SQLITEdb);
$query = $db->query("DELETE FROM log WHERE image = '$image'");
echo "Deleted";
// DB connect
function db_con($DBfile) {
if (!$db = new PDO("sqlite:$DBfile")) {
$e="font-size:23px; text-align:left; color:firebrick; font-weight:bold;";
echo "<b style='".$e."'>Error while open Database: $DBfile:</b><br/>";
echo "<b style='".$e."'>".$db->errorInfo()."</b><br/>";
die;
}
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $db;
}
// DB Query
function db_query($sql) {
global $db;
$result = $db->query($sql) OR db_error($sql,$db->errorInfo());
return $result;
}
// DB errors
function db_error($sql,$error) {
die('<small><font color="#ff0000"><b>[DB ERROR]</b></font></small><br/><br/><font color="#800000"><b>'.$error.'</b><br/><br/>'.$sql.'</font>');
}
// Add HTML character incoding to strings
function db_output($string) {
return htmlspecialchars($string);
}
// Add slashes to incoming data
function db_input($string) {
if (function_exists('mysql_real_escape_string')) {
return mysql_real_escape_string($string);
}
return addslashes($string);
}
?>
I don't get any errors or the text "Deleted."
Aucun commentaire:
Enregistrer un commentaire