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

Rejestracja, skrypt nie prawidłowo zapisuje dane w bazie

Cloud VPS
0 głosów
453 wizyt
pytanie zadane 24 września 2015 w PHP przez dorgovor Użytkownik (580 p.)

Napisałem skrypt rejestracji i mam problem z nim bo nie zapisuje on w bazie danych, są tylko puste miejsca ( oprócz "points" tam jest 0 )

<?php

	session_start();
	
	if ((!isset($_POST['login1'])) || (!isset($_POST['pass'])))
	{
		header('Location: index.php');
		exit();
	}
	
	require_once "connect.php";

	$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
	
	if ($polaczenie->connect_errno!=0)
	{
		echo "Error: ".$polaczenie->connect_errno;
	}
	else
	{
		$nick = $_POST['nick'];
		$login1 = $_POST['login1'];
		$pass = $_POST['pass'];
		$email = $_POST['email'];
		
		$nick = htmlentities($nick, ENT_QUOTES, "UTF-8");
		$login1 = htmlentities($login1, ENT_QUOTES, "UTF-8");
		$pass = htmlentities($pass, ENT_QUOTES, "UTF-8");
		$email = htmlentities($email, ENT_QUOTES, "UTF-8");
	
		if ($rezultat = @$polaczenie->query(
		sprintf("INSERT INTO users (login, pass, email, nick, points ) 
		values ('%s', '%s', '%s', '%s', 0)",
        mysqli_real_escape_string($connection, $login1),
        mysqli_real_escape_string($connection, $pass),
        mysqli_real_escape_string($connection, $email),
		mysqli_real_escape_string($connection, $nick))))
        {
            echo "ok";
        }
		
		$polaczenie->close();
	}
	
?>

Proszę o pomoc!

3 odpowiedzi

+1 głos
odpowiedź 24 września 2015 przez Boshi VIP (100,240 p.)
Wróć jak wywalisz sprintf i tłumienie błędów.
+1 głos
odpowiedź 24 września 2015 przez Comandeer Guru (607,060 p.)
–1 głos
odpowiedź 24 września 2015 przez Ehlert Ekspert (215,050 p.)

Czemu nie zapiszesz kwerendy w postaci normalnego ciągu tylko korzystarz ze sprintf?

komentarz 24 września 2015 przez dorgovor Użytkownik (580 p.)
if ($rezultat = @$polaczenie->query(
		$query = mysql_query("INSERT INTO user (login, pass, email, nick,) value ('$login1', '$pass', '$email', '$nick', 0");
        {
            echo "ok";
        }

W ten sposób??? Nie mam za bardzo pojecia o co ci chodzi :D

komentarz 24 września 2015 przez Ehlert Ekspert (215,050 p.)
$query = mysql_query("INSERT INTO user (login, pass, email, nick,) value ('".$login1."', '".$pass."', '".$email."', '".$nick."', 0");

 

komentarz 24 września 2015 przez Ehlert Ekspert (215,050 p.)

Usuń klamry pod query. 

komentarz 24 września 2015 przez dorgovor Użytkownik (580 p.)

Dzięki ale to nie działa :D

Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\pointspay\register.php on line 32

komentarz 24 września 2015 przez Ehlert Ekspert (215,050 p.)
$query = "INSERT INTO user (login, pass, email, nick,) value ('".$login1."', '".$pass."', '".$email."', '".$nick."', 0)";
if ($rezultat = $polaczenie->query){
   //...
}

Dokumentacja z przykładami.

komentarz 24 września 2015 przez dorgovor Użytkownik (580 p.)

Notice: Undefined property: mysqli::$query in C:\xampp\htdocs\pointspay\register.php on line 32

To się chyba nigdy nie uda :(

komentarz 24 września 2015 przez Ehlert Ekspert (215,050 p.)

Wysłalem Ci linka z dokumentacją. Jest tam wielki przykład połączenia z bazą. Wykorzystaj go, ale jeśli używasz INSERT to nie zapisuj wyniku do $result. Tylko daj ifa czy zapytanie zostało poprawnie przprowadzone. 

Podobne pytania

0 głosów
1 odpowiedź 244 wizyt
pytanie zadane 27 maja 2019 w PHP przez Paszek20 Nowicjusz (200 p.)
0 głosów
1 odpowiedź 707 wizyt
pytanie zadane 2 grudnia 2018 w PHP przez jakubmark Początkujący (370 p.)
0 głosów
2 odpowiedzi 1,179 wizyt

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 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

Kursy INF.02 i INF.03
...