Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]dodawanie danych do bazy danych
Forum PHP.pl > Forum > Przedszkole
GoOx
Witam, mam pewien kod ma on odtwarzać kody html z bazy danych.

  1. CREATE TABLE `obrazki` (
  2. `obrazek` int(11) NOT NULL AUTO_INCREMENT,
  3. PRIMARY KEY (`obrazek`)
  4. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1 ;
  5.  


teraz połączenie z baza danych:

  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. $host = 'localhost';
  7. $user = 'user';
  8. $haslo = 'haslo';
  9. $baza_danych = 'baza';
  10.  
  11.  
  12. ?>

i 2 plik:
  1.  
  2. <?php
  3.  
  4.  
  5.  
  6. function zapytaj($sql) {
  7.  
  8. require('config.php');
  9.  
  10. $db = mysql_connect($host, $user, $haslo);
  11. mysql_select_db($baza_danych, $db);
  12. $wynik = mysql_query($sql, $db);
  13. return $wynik;
  14. }
  15.  
  16.  
  17.  
  18.  
  19.  
  20. ?>

i kod dodawania i odczytywania danych z bazy danych


  1.  
  2. <?
  3. include('polaczenie.php');
  4. ?>
  5. <html>
  6. <head>
  7. <title>Dodawanie obrazków do bazy danych</title>
  8. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  9. </head>
  10. <body>
  11.  
  12. <form action="skrypt.php?dodano" method="post">
  13. <input type="text" name="obrazek">
  14. <input type="submit" name="dodaj" value="Dodaj">
  15. </form>
  16.  
  17. <?
  18. $obrazek = $_POST['obrazek'];
  19.  
  20. if(isset($_POST['dodaj'])) {
  21.  
  22. $zapytanie = "INSERT INTO obrazki (obrazek) VALUES ('$obrazek')";
  23. mysql_query($zapytanie) or die(mysql_error());
  24. print("Obrazek został dodany.");
  25. }
  26.  
  27.  
  28.  
  29.  
  30. $res = mysql_query('SELECT obrazek FROM obrazki ');
  31. $dane = mysql_fetch_row($res);
  32. echo $dane[0];
  33. ?>


Tylko jest problem
To nie działa!
Proszę o pomoc.
Ulysess
  1. <form action="upload.php" enctype="multipart/form-data" method="post"><input class="main" type="file" name="avatar" accept="image/jpeg,image/png" size="40" /><input class="main" type="submit" value="Wgraj Avatar" /></form>


to jest przykład formularza wysyłającego avatar

po wysłaniu do upload.php IMG znajduje się w $_FILES['avatar']['type'] , możesz również dodać kod sprawdzający czy spełnia wymagania pod względem wielkości pliku oraz jego rozszerzenia , jeśli chodzi o samo dodanie do bazy nigdy tego nie robiłem ale z tego co wiem nie stosuje się tego z racji tego że na hostingach sa limity pojemnościowe na bazę wiec lepiej normalnie dodać IMG na serwer
GoOx
Dzięki za pomoc ale nie zrozumiałeś mnie..

Chodzi mi o wgranie kodu html do bay mysql i tyle ponieważ to może pierwszy skrypt związany z bazą mysql więc proszę o pomoc.


Ja prosze o poprawienie kodu by można było dodawać do bazy kody html i odtwarzać je.
piotrooo89
a ja po raz kolejny proszę o to aby nie krzyczeć, następny raz już nie poproszę.
GoOx
ok sorry.
Ghost_78
Moim zdaniem potrzebujesz: http://www.php.net/manual/pl/function.addslashes.php
nospor
yyy.... cchesz wkładać kod html to bazy a pole do którego wkładasz jest liczbąquestionmark.gif
`obrazek` int(11)
Ghost_78
Hehehe. Tego już nie zauważyłem wink.gif.
nospor jak zwykle czujny wink.gif.
Pozdrowionka.
GoOx
To jak to poprawić?

Słabo sie znam na mysql lepiej na php
nospor
skoro do pola wkładasz tekst to pole ma być typu tekstowego a nie liczbowego.
Typem liczbowym jest np. VARCHAR.
INT jest polem liczbowym.

A skoro się słabo znasz na mysql to wypadałoby wpierw poznać podstawy, potem się za to brać, bo będziesz co 5 minut latał po forum z równie banalnym problemem.
Ghost_78
po 1 tak jak pisal nospor - zmień typ danych (ja bym dodał jeszcze id):
  1. CREATE TABLE `obrazki` (
  2. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `obrazek` VARCHAR( 255 ) NOT NULL
  4. ) ENGINE = MYISAM ;


poza tym i tak chyba nie obejdzie się bez addslashes (może się trafić apostrof) przy zapisie do bazy:

  1. $zapytanie = "INSERT INTO obrazki (obrazek) VALUES ('".addslashes($obrazek)."')";
  2. mysql_query($zapytanie) or die(mysql_error());


i przy odczycie potem stripslashes():

  1. $res = mysql_query('SELECT obrazek FROM obrazki ');
  2. $dane = mysql_fetch_row($res);
  3. echo stripslashes($dane[0]);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.