Rekordy nie są dodawane

Odpowiedz Nowy wątek
2011-08-07 12:09
newbie
0

Witam. Chcę dodać dane do bazy, ale nic sie nie dodaje gdy przegladam strukture w phpmyadmin. Posiadam taki kod:

<?php
$mysql_host = 'localhost';
$mysql_login = 'root';
$mysql_haslo = '';
$mysql_baza = 'commercial_b';
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$haslo2 = $_POST['haslo2'];
$mail = $_POST['mail'];
$nazwa_agencji = $_POST['nazwa_agencji'];
$i = rand(100000000,999999999);
$data =  date("Y-m-d H:i:s");
echo $haslo; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
echo $haslo2; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
echo $mail; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
echo $nazwa_agencji; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
echo $login; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
echo $i; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
echo $data; // tutaj tylko sprawdzam czy zmienne sa prawidlowo przeslane
if ($haslo == $haslo2)
{        
 
        $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');        
        mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
        $sql = "SET CHARSET latin2";
mysql_query($sql);
mysql_query("INSERT INTO `commercial_b`.`uzytkownik` (`login`, `haslo`, `mail`, `nazwa_agencji`,  `kod`) VALUES ('$login', '$haslo', '$mail', '$nazwa_agencji', '$i');");
 
        echo ('Twoje dane zostały zarejestrowane. Odbierz maila i potwierdź rejestracje konta.'); 
        }
else
{
echo ('Żeby móc się zarejestrować, wpisz poprawnie obydwa hasła.<a href="index.php?view=register> Wróć</a>');
}
?>

Jednak zaden z rekordow nie jest dodawany. Co jest tego przyczyną i jak to naprawić ? Z góry dziękuje :)

edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-08-07 12:11
Kumashiro
0

W PHP dawno już nie popełniałem, więc kod przemilczę. Strzelam jednak, że problemem jest brak COMMIT. Poczytaj też o AUTOCOMMIT.

Albo się wypowiem. Twój kod jest tragiczny. Nie sprawdzasz czy w POST przyleciały wszystkie wymagane dane, nie sprawdzasz też ich poprawności. Teraz zastanów się co się stanie gdy:
a) którejś z tych danych, albo nawet wszystkich nie będzie
b) jako "nazwa_agencji" przyleci "dupa', 1); DELETE FROM commercial_b.uzytkownik".

Pozostało 580 znaków

2011-08-07 16:15
0

http://php.net/manual/en/function.mysql-error.php

a ja strzelam, że nie powinno być średnika na końcu

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0