Dzień dobry
Przychodzę z kolejnym problemem z którym nie mogę sobie poradzić, prawdopodobnie jest to ogólny błąd tylko, że na starszych wersjach pewnie to "przechodziło". Dopiero się uczę dlatego proszę o nie "krzyczenie" na moje wyponicki tylko proszę o drobną pomoc
Próbowałem poprawić błąd który się wyświetla ale tylko pogarszałem sprawę. Na starszych wersjach mariaDB wszystko działało lecz na najnowszej coś idzie nie tak i wyświetla się następujący błąd:
Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column `server100024_pliki4`.`file_base`.`id` at row 1 in /home/server100024/ftp/skb/333/panel/add.php:26 Stack trace: #0 /home/server100024/ftp/skb/333/panel/add.php(26): PDOStatement->execute() #1 {main} thrown in /home/server100024/ftp/skb/333/panel/add.php on line 26
Kod add.php:
<?php
if (!isset($_SESSION['admin'])) {
header('Location: ../index.php'); }
require '../php/dbsoft.php';
if(empty($_POST['user'])){
}else{
if($_FILES['myfile']['type'] == "application/pdf" || $_FILES['myfile']['type'] == "image/jpeg"){
$name = $_FILES['myfile']['name'];
$type = $_FILES['myfile']['type'];
$user_id_form = $_POST['user'];
$statement = $connection->prepare("insert into file_base values ('', ?, ?, ?, ?)");
$statement->bindParam(1, $name);
$statement->bindParam(2, $type);
$statement->bindParam(3, $data);
$statement->bindParam(4, $user_id_form);
$statement->execute();
}else{
echo 'Nieprawidłowy format'; }
}
?>
Formularz do wybrania pliku:
<?php
if (!isset($_SESSION['admin'])) {
header('Location: ../index.php'); }
header("refresh: 900; url=../wyloguj");
?>
<?php
require '../php/dbsoft.php';
$sql = 'SELECT * FROM account WHERE id="'.$_SESSION['id_session'].'"';
$statement = $connection->prepare($sql);
$statement->execute();
$row = $statement->fetchAll(PDO::FETCH_OBJ);
foreach($row as $rows):
$email = $rows->email;
endforeach;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>SB Admin 2 - Login</title>
</head>
<body>
<h1>Witaj,
<?php echo $email; ?></h1>
<a href="../wyloguj">Wyloguj się</a>
<hr>
<?php
unset($_SESSION['panel']);
?>
<br><br>
<h3>DODAJ PDF</h3>
<form method="post" action="add.php" enctype="multipart/form-data">
<input name="user" type="number" placeholder="Wpisz tutaj ID UŻYTKOWNIKA">
<br><br>
<input type="text" value="1" name="CHECK" hidden>
<input type="file" name="myfile"/>
<br><br>
<button TYPE="submit">DODAJ PDF</button>
</form>
<br><br><br>
<hr><hr><hr>
<p>ZNAJDŹ PDF</p>
<ol>
<?php
$sql = 'SELECT * FROM file_base';
$statement = $connection->prepare($sql);
$statement->execute();
while($row = $statement->fetch()){
?>
<li>
<a target="_blank" href="see.php?id=
<?php echo $row['id']; ?>">
<?php echo $row['name']; ?> /// ID UŻYTKOWNIKA
<?php echo $row['user_id']; ?></a>
<br>
<a target="_blank" href="delete.php?id=
<?php echo $row['id']; ?>">Usuń plik</a>
</li>
<?php
}
?>
</ol>
</body>
</html>
Chodzi o dodawanie plików .pdf .png .jpg do bazy jako BLOB. Proszę o ewentualną poprawę kodu
Ten post edytował gloweres 6.09.2020, 18:50:52