Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd przy dodawaniu użytkownika do bazy danych
Forum PHP.pl > Forum > Bazy danych
tdr
Witam!
Dopiero zaczynam Swoją przygodę z PHPem, i nie mogę odnaleźć błędu w tym kodzie.. Może pomożecie?
Cały czas wyskakuje ten błąd:
Cytat
Wystąpił błąd w zapytaniu do bazy danych.
Oczywiście WIem , że ja go napisałem w przypadku nie poprawnej integralności z bazą danych, ale mimo to nie mogę sobie z tym poradzić, bardzo proszę o momoc

  1. <!doctype html>
  2. <html lang="pl">
  3. <meta charset="utf-8">
  4. <title>Rejestracja w serwisie</title>
  5. </head>
  6.  


  1. <?php
  2. // Ładowanie plików:
  3. require_once("config.php");
  4.  
  5. if(isset($_POST['submit'])){
  6.  
  7. // Łączenie się z bazą danych
  8. $dbc = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PW, DB_DB)
  9. or die('Wystąpił błąd połączenia z bazą danych');
  10.  
  11. // Pobieram dane z formularza:
  12. $user_username = mysqli_real_escape_string($dbc, trim($_POST['user_login']));
  13. $user_password1 = mysqli_real_escape_string($dbc, trim($_POST['user_password1']));
  14. $user_password2 = mysqli_real_escape_string($dbc, trim($_POST['user_password2']));
  15. $user_email1 = mysqli_real_escape_string($dbc, trim($_POST['user_email1']));
  16. $user_email2 = mysqli_real_escape_string($dbc, trim($_POST['user_email2']));
  17.  
  18.  
  19. if(empty($user_username) || empty($user_password1) || empty($user_password2) || empty($user_email1) || empty($user_email1)){
  20.  
  21. // Jeśli któreś z pól jest puste, wykonaj:
  22.  
  23. echo "<p class='error'>Nie wszystkie pola zostały uzupełnione!</p>";
  24. mysqli_close($dbc);
  25. return false;
  26. exit();
  27. }else{
  28. // W przypadku, gdy wszestkie pola są uzupełnione, wykonaj:
  29. // Sprawdź, czy hasła pasują do siebie:
  30.  
  31. if($user_password1 !== $user_password2){
  32. // Jeśli hasło1 nie pasuje do hasła2 wywal błąd:
  33. echo "<p class='error'>Hasła nie pasują do siebie!</p>";
  34. return false;
  35. exit();
  36. }else{
  37. // Sprawdź, czy nie ma już użytkownika w bazie danych o podanych danych:
  38. $query =
  1. "SELECT * FROM users WHERE username == '$user_username'"
  1. ;
  2. $date = mysqli_query($dbc, $query)
  3. or die('<p class="error">Wystąpił błąd w zapytaniu do bazy danych.</p>');
  4. if(mysqli_num_rows($date) !== 0){
  5. // Jeśli wynik spawdzenia okaże się różny od 0, wypisz błąd:
  6. echo "<p class='error'>W Naszej bazie danych znajduje się już użytkownik o podanej przez Ciebie nazwie, bądź adresie email.</p>";
  7. return false;
  8. exit();
  9. }else{
  10. // Jęśli nie ma użytkownika o podanych danych w bazie danych:
  11. $query =
  1. "INSERT INTO users (id, joindate, username, password, email) VALUES (NULL, NOW(), '$user_username', SHA1('$user_password1'), '$user_email1')"
  1. ;
  2. mysqli_query($dbc, $query)
  3. or die('<p class="error">Wystąpił błąd przy dodawaniu użytkownika do bazy danych</p>');
  4.  
  5. echo "<p>Użytkownik został poprawnie dodany do bazy danych.</p>";
  6. mysqli_close($dbc);
  7. }
  8. }
  9. }
  10.  
  11.  
  12.  
  13.  
  14. }else{
  15. // Gdy formularz nie został jeszcze wysłany.
  16. ?>
  1.  
  2. <form method="post" action="">
  3. <input type="text" name="user_login" placeholder="Login" /><br>
  4. <input type="password" name="user_password1" placeholder="Hasło" /><br>
  5. <input type="password" name="user_password2" placeholder="Powtórz hasło" /><br>
  6. <input type="email" name="user_email1" placeholder="Adres e-mail" /><br>
  7. <input type="email" name="user_email2" placeholder="Potwierdź adres e-mail" /><br>
  8. <input type="submit" name="submit" value="Rejestruj" />
  9. <input type="reset" name="reset" value="Wyczyść" />
  10. </form>
  1. <?php
  2. }
  3. ?>
  4.  
  5. </body>
  6. </html>


A tu w normalniej nie formatowanej wersji:
Kod
<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Rejestracja w serwisie</title>
</head>

<body>
    
<?php
//  Ładowanie plików:
require_once("config.php");

    if(isset($_POST['submit'])){
        
        //  Łączenie się z bazą danych
        $dbc = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PW, DB_DB)
            or die('Wystąpił błąd połączenia z bazą danych');
        
        //  Pobieram dane z formularza:
        $user_username = mysqli_real_escape_string($dbc, trim($_POST['user_login']));
        $user_password1 = mysqli_real_escape_string($dbc, trim($_POST['user_password1']));
        $user_password2 = mysqli_real_escape_string($dbc, trim($_POST['user_password2']));
        $user_email1 = mysqli_real_escape_string($dbc, trim($_POST['user_email1']));
        $user_email2 = mysqli_real_escape_string($dbc, trim($_POST['user_email2']));
        
        
        if(empty($user_username) || empty($user_password1) || empty($user_password2) || empty($user_email1) || empty($user_email1)){
            
            //  Jeśli któreś z pól jest puste, wykonaj:
            
            echo "<p  class='error'>Nie wszystkie pola zostały uzupełnione!</p>";
            mysqli_close($dbc);
            return false;
            exit();
        }else{
            //  W przypadku, gdy wszestkie pola są uzupełnione, wykonaj:
            //  Sprawdź, czy hasła pasują do siebie:
            
            if($user_password1 !== $user_password2){
                //  Jeśli hasło1 nie pasuje do hasła2 wywal błąd:
                echo "<p class='error'>Hasła nie pasują do siebie!</p>";
                return false;
                exit();
            }else{
                //  Sprawdź, czy nie ma już użytkownika w bazie danych o podanych danych:
                $query = "SELECT * FROM users WHERE username == '$user_username'";
                $date = mysqli_query($dbc, $query)
                    or die('<p class="error">Wystąpił błąd w zapytaniu do bazy danych.</p>');
                if(mysqli_num_rows($date) !== 0){
                    //  Jeśli wynik spawdzenia okaże się różny od 0, wypisz błąd:
                    echo "<p class='error'>W Naszej bazie danych znajduje się już użytkownik o podanej przez Ciebie nazwie, bądź adresie email.</p>";
                    return false;
                    exit();
                }else{
                    //  Jęśli nie ma użytkownika o podanych danych w bazie danych:
                    $query = "INSERT INTO users (id, joindate, username, password, email) VALUES (NULL, NOW(), '$user_username', SHA1('$user_password1'), '$user_email1')";
                    mysqli_query($dbc, $query)
                        or die('<p class="error">Wystąpił błąd przy dodawaniu użytkownika do bazy danych</p>');
                        
                    echo "<p>Użytkownik został poprawnie dodany do bazy danych.</p>";
                    mysqli_close($dbc);
                }
            }
        }
        
        
        

    }else{
        //  Gdy formularz nie został jeszcze wysłany.
        ?>
        
        <form method="post" action="">
            <input type="text" name="user_login" placeholder="Login" /><br>
            <input type="password" name="user_password1" placeholder="Hasło" /><br>
            <input type="password" name="user_password2" placeholder="Powtórz hasło" /><br>
            <input type="email" name="user_email1" placeholder="Adres e-mail" /><br>
            <input type="email" name="user_email2" placeholder="Potwierdź adres e-mail" /><br>
            <input type="submit" name="submit" value="Rejestruj" />
            <input type="reset" name="reset" value="Wyczyść" />
        </form>
    <?php
    }
?>

</body>
</html>


bardzo proszę o pomoc
irmidjusz
Masz dwa znaki = w zapytaniu.
tdr
No tak... są tam dwa bo to jest porównanie
wiiir
Cytat(tdr @ 3.02.2013, 09:09:19 ) *
No tak... są tam dwa bo to jest porównanie

No tak.. i to jest błąd, to nie jest php tylko mysql
dokumentacja
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.