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

question-closed Update bazy danych za pomocą ajaxu

Object Storage Arubacloud
0 głosów
116 wizyt
pytanie zadane 3 sierpnia 2020 w JavaScript przez HowToIT Początkujący (290 p.)
zamknięte 3 sierpnia 2020 przez ScriptyChris

Cześć!
Jestem w trakcie pisania strony gdzie jedną z funkcjonalności jest dodanie polubienia konkretnego obrazu. Mam stworzony button, gdzie onclick przekierowuje do funkcji add korzystającej z jquery. Funkcja wyrzuca sukces, wypisuje się alert, ale nie wykonuje się kod z pliku likes.php. Oba pliki są w tym samym folderze. Co może być problemem?

<script
			  src="https://code.jquery.com/jquery-3.5.1.min.js"
			  integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
			  crossorigin="anonymous">
</script>
<script> 
	 function add(id){  
	 	jQuery.ajax({ 
	 		type: "POST", 
	 		url: 'likes.php', 
	 		data: 'id='+id, 
	 		success: function(response) 
	 		{ 
	 		alert(id); 
	 		console.log(id);
	 		} 
	 	}); 
	 } 
</script>
//Plik likes.php
<?php 
//Connect to the database 
require_once "connect.php";
$connection = @new mysqli($host, $db_user, $db_password, $db_name);

//Check if POST value exists 
if($connection->connect_errno!=0){
		 	
		echo "Error: ".$connection->connect_errno;
	}
	else{
		if (isset($_POST['id'])){ 

			//Get the value from post method 
			$id = $_POST['id'] ; 
			echo $id;
			//Prepare the query 
			$query = "UPDATE images SET  likes = likes + 1 WHERE id = ".$id; 

			//Run the query 
			mysql_query($query); 
		}
	} 
?> 

 

komentarz zamknięcia: Problem rozwiązany
komentarz 3 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)

Co znajduje się w zmiennej response będącej argumentem metody success w jQuery? Wewnątrz tej metody wołasz alert i console.log nie przekazując argumentu response tylko zmienną id, którą przesłałeś w zapytaniu na serwer. Może w PHP wykonuje się if($connection->connect_errno!=0) świadczący o błędzie połączenia z bazą danych? Usuń symbol @ przy new mysqli, to powinno rzucić błędem, jeśli faktycznie jest problem z połączeniem z bazą.

komentarz 3 sierpnia 2020 przez HowToIT Początkujący (290 p.)

Był problem z mysql_query enlightened  już wszystko śmiga :D

1 odpowiedź

0 głosów
odpowiedź 3 sierpnia 2020 przez VBService Ekspert (253,340 p.)
edycja 3 sierpnia 2020 przez VBService
url: 'likes.php', 
data: { id : id },
dataType: "html",
success: function(response) 

jQuery.ajax() -> send data

Więcej danych data: { id: id, name: "name" }

Sprawdzenie

success: function(response) 
{ 
     console.log(response);
}

 

Podobne pytania

+1 głos
2 odpowiedzi 666 wizyt
pytanie zadane 30 czerwca 2017 w SQL, bazy danych przez BeFree Początkujący (380 p.)
0 głosów
2 odpowiedzi 501 wizyt
+2 głosów
1 odpowiedź 330 wizyt

92,578 zapytań

141,426 odpowiedzi

319,653 komentarzy

61,961 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!

...