Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wgrywaniem plików do bazy (BLOB) na nowej wersji MariaDB
gloweres
post 6.09.2020, 18:49:28
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 29.08.2020

Ostrzeżenie: (0%)
-----


Dzień dobry smile.gif
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 smile.gif 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:

  1. 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:

  1. <?php
  2.  
  3.  
  4. if (!isset($_SESSION['admin']))
  5. {
  6. header('Location: ../index.php');
  7. exit();
  8. }
  9.  
  10. require '../php/dbsoft.php';
  11.  
  12. if(empty($_POST['user'])){
  13.  
  14. }else{
  15. if($_FILES['myfile']['type'] == "application/pdf" || $_FILES['myfile']['type'] == "image/jpeg"){
  16. $name = $_FILES['myfile']['name'];
  17. $type = $_FILES['myfile']['type'];
  18. $user_id_form = $_POST['user'];
  19. $data = file_get_contents($_FILES['myfile']['tmp_name']);
  20. $statement = $connection->prepare("insert into file_base values ('', ?, ?, ?, ?)");
  21. $statement->bindParam(1, $name);
  22. $statement->bindParam(2, $type);
  23. $statement->bindParam(3, $data);
  24. $statement->bindParam(4, $user_id_form);
  25. $statement->execute();
  26. echo 'przeslano';
  27. }else{
  28. echo 'Nieprawidłowy format';
  29. }
  30. }
  31.  
  32. ?>


Formularz do wybrania pliku:

  1. <?php
  2.  
  3.  
  4. if (!isset($_SESSION['admin']))
  5. {
  6. header('Location: ../index.php');
  7. exit();
  8. }
  9.  
  10. header("refresh: 900; url=../wyloguj");
  11.  
  12. ?>
  13.  
  14. <?php
  15.  
  16. require '../php/dbsoft.php';
  17.  
  18. $sql = 'SELECT * FROM account WHERE id="'.$_SESSION['id_session'].'"';
  19. $statement = $connection->prepare($sql);
  20. $statement->execute();
  21. $row = $statement->fetchAll(PDO::FETCH_OBJ);
  22.  
  23. foreach($row as $rows):
  24. $email = $rows->email;
  25. endforeach;
  26.  
  27. ?>
  28.  
  29. <!DOCTYPE html>
  30. <html lang="en">
  31.  
  32. <head>
  33.  
  34. <meta charset="utf-8">
  35. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  36. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  37. <meta name="description" content="">
  38. <meta name="author" content="">
  39.  
  40. <title>SB Admin 2 - Login</title>
  41.  
  42. </head>
  43.  
  44. <body>
  45. <h1>Witaj, <?php echo $email; ?></h1>
  46. <a href="../wyloguj">Wyloguj się</a>
  47. <hr>
  48.  
  49. <?php
  50.  
  51. echo $_SESSION['panel'];
  52. unset($_SESSION['panel']);
  53.  
  54. ?>
  55.  
  56. <br><br>
  57. <h3>DODAJ PDF</h3>
  58.  
  59. <form method="post" action="add.php" enctype="multipart/form-data">
  60. <input name="user" type="number" placeholder="Wpisz tutaj ID UŻYTKOWNIKA">
  61. <br><br>
  62.  
  63. <input type="text" value="1" name="CHECK" hidden>
  64.  
  65. <input type="file" name="myfile"/>
  66.  
  67. <br><br>
  68. <button TYPE="submit">DODAJ PDF</button>
  69. </form>
  70. <br><br><br>
  71. <hr><hr><hr>
  72.  
  73. <p>ZNAJDŹ PDF</p>
  74.  
  75. <ol>
  76. <?php
  77.  
  78. $sql = 'SELECT * FROM file_base';
  79. $statement = $connection->prepare($sql);
  80. $statement->execute();
  81.  
  82. while($row = $statement->fetch()){
  83.  
  84. ?>
  85.  
  86. <li>
  87. <a target="_blank" href="see.php?id=<?php echo $row['id']; ?>"><?php echo $row['name']; ?> /// ID UŻYTKOWNIKA <?php echo $row['user_id']; ?></a>
  88. <br>
  89. <a target="_blank" href="delete.php?id=<?php echo $row['id']; ?>">Usuń plik</a>
  90. </li>
  91.  
  92. <?php
  93.  
  94. }
  95.  
  96. ?>
  97. </ol>
  98.  
  99. </body>
  100.  
  101. </html>


Chodzi o dodawanie plików .pdf .png .jpg do bazy jako BLOB. Proszę o ewentualną poprawę kodu smile.gif

Ten post edytował gloweres 6.09.2020, 18:50:52
Go to the top of the page
+Quote Post
Pyton_000
post 7.09.2020, 09:44:12
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Przecież jest błąd z datetime czyli masz pole w bazie a nie dodajesz go do zapytania.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 09:58