• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

UPDATE zwraca wartość jakby działało, ale nie aktualizuje danych

Object Storage Arubacloud
0 głosów
530 wizyt
pytanie zadane 12 lipca 2017 w PHP przez MałyAleWariat Bywalec (2,830 p.)

Problem wygląda tak, że loguje się na testowe konto na stronce (localhost), i próbuję dodać zdjęcie do folderu w ten sposób:

<?php
    session_start();
	if (!isset($_SESSION['online'])) {
		header('Location: index.php');
		exit();
	}

	$msg = "";
	
    if  (isset($_POST['upload'])) {
        $target = "images/".basename($_FILES['image']['name']);
        require_once "connect.php";
        $db_connect = new mysqli($host, $db_user, $db_password, $db_name);
        
        $image = $_FILES['image']['name'];
		
		$sql = "INSERT INTO dane (zdjecie_i) VALUES ('$image')";
		mysqli_query($db_connect, $sql);
		
		if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
			$msg = "Zdjęcie dodane!";
		} else {
			$msg = "Błąd podczas wgrywania zdjęcia.";
		}
    }
?>

Tak wygląda formularz:

<div class="userProfileEdit">
    <form method="post" action="user_profile.php" enctype="multipart/form-data">
        <input type="file" name="image">
        <input type="submit" name="upload" value="Zmień zdjęcie">
        <?php 
            echo $msg;
        ?>
    </form>
</div>

Kiedy zamiast UPDATE, jest INSERT INTO, to zdjęcie zostaje dodane do folderu, ale tworzy się nowy użytkownik w bazie danych, a w obu przypadkach $msg wyskakuje jako "Zdjęcie dodane".
I teraz moje pytanie brzmi, czy muszę jakoś wyciągnąć wcześniej z bazy ID użytkownika który się przed chwilą zalogował, żeby dodało do właściwej kolumny? Czy mam coś nie tak w kodzie?  A może coś nie tak zrozumiałem?

1
komentarz 12 lipca 2017 przez CzikaCarry Szeryf (75,340 p.)
Zapomniałeś użyć SET w tym zapytaniu, czemu nie zainstalujesz sobie jakiegoś IDE które od razu Ci powie, że odpierdzielasz manianę w tym zapytaniu? :D
komentarz 12 lipca 2017 przez MałyAleWariat Bywalec (2,830 p.)

Nie jestem omnibusem i pewnie dlatego pytam co robię nie tak. Uczę się jak zapewne widzisz. IDE to coś takiego jak Emmet w Brackets? Zrobiłem :
 

$sql = "UPDATE dane SET zdjecie_i = '$image' WHERE id ='".$_SESSION['id']."'";

I działa, dziękuję.

komentarz 12 lipca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Dobra już przeczytałem czym jest IDE.
komentarz 12 lipca 2017 przez CzikaCarry Szeryf (75,340 p.)
Polecam PHPstorm, jak jesteś uczniem/ studentem to możesz się zarejsetrować na stronie JetBrains i masz wszystkie ich produkty za free :D
komentarz 12 lipca 2017 przez MałyAleWariat Bywalec (2,830 p.)
Nie jestem. Ściągnąłem Eclipse przed chwilą, będzie testowane ;d

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 132 wizyt
pytanie zadane 31 marca 2019 w PHP przez arczi86 Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 155 wizyt
0 głosów
2 odpowiedzi 129 wizyt
pytanie zadane 3 stycznia 2018 w SQL, bazy danych przez smg Użytkownik (760 p.)

92,555 zapytań

141,403 odpowiedzi

319,559 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...