Пытается записать загрузку изображения в mysql через php,
, пытаясь использовать идентификатор пользователя для ОБНОВЛЕНИЯ строки.
Однако, продолжает давать эту ошибку:mysql Запрос UPDATE не работает для загрузки изображения через php
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(image_type,image, image_size, image_name) VALUES ('images/1459926006.png','png'' at line 1
Просто не может увидеть, что это ошибка синтаксиса.
PHP:
function upload(){
/*** check if a file was uploaded ***/
if(is_uploaded_file($_FILES['userfile']['tmp_name']) && getimagesize($_FILES['userfile']['tmp_name']) != false)
{
/*** get the image info. ***/
$size = getimagesize($_FILES['userfile']['tmp_name']);
/*** assign our variables ***/
$type = $size['mime'];
$imgfp = fopen($_FILES['userfile']['tmp_name'], 'rb');
$size = $size[3];
$name = $_FILES['userfile']['name'];
$maxsize = 99999999;
/*** check the file is less than the maximum file size ***/
if($_FILES['userfile']['size'] < $maxsize)
{
/*** connect to db ***/
$dbh = new PDO("mysql:host=localhost;dbname=table", 'username', 'password');
/*** set the error mode ***/
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/*** our sql query ***/
$stmt = $dbh->prepare("UPDATE users (image_type,image, image_size, image_name) VALUES (?,?,?,?) WHERE user_id=?");
/*** bind the params ***/
$stmt->bindParam(1, $type);
$stmt->bindParam(2, $imgfp, PDO::PARAM_LOB);
$stmt->bindParam(3, $size);
$stmt->bindParam(4, $name);
$stmt->bindParam(4, $name);
$stmt->bindParam(5, $_SESSION['user_id']);
/*** execute the query ***/
$stmt->execute();
}
else
{
/*** throw an exception is image is not of type ***/
throw new Exception("File Size Error");
}
}
else
{
// if the file is not less than the maximum allowed, print an error
throw new Exception("Unsupported Image Format!");
}
}
?>
В настоящее время ошибок нет, но до сих пор нет обновлений. Должен быть неправильный идентификатор пользователя. – Kez
Да, проверьте свой идентификатор сеанса! убедитесь, что вы начали сеанс в верхней части страницы! – Saty
lol :) Я убедился, что знаю. но я предполагаю, что неправильно ссылаюсь на него. – Kez