Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Błąd z mysql_query
Forum PHP.pl > Forum > Przedszkole
Ramzaa
Dopiero co zacząłem uczyć się mysql, a już mam pierwszy problem. Otóż tworzę prostą rejestrację + logowanie użytkowników, opartą na sesjach. Niestety zatrzymałem się od razu przy rejestracji.

Błąd:

Cytat
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\xampp\htdocs\baza\rejestracja.php on line 11

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\xampp\xampp\htdocs\baza\rejestracja.php on line 11
Konto asd zostało pooprawnie stworzone!


Skrypt:

  1. <?php
  2.  
  3. if (isset($_POST['submit']))
  4. {
  5. $login = $_POST['login'];
  6. $pass = $_POST['password'];
  7.  
  8. $add = "INSERT INTO users (login, password) VALUES ('$login', '$password')";
  9. mysql_query($add);
  10.  
  11. echo ("Konto $login zostało pooprawnie stworzone!");
  12.  
  13. }
  14.  
  15. else
  16. {
  17.  
  18. ?>
  19.  
  20. <form action="<?php echo $PHP_SELF; ?>" method="POST">
  21.  
  22. <input type="text" name="login"><br />
  23. <input type="password" name="password"><br /><br />
  24.  
  25. <input type="submit" value="submit" name="submit">
  26.  
  27. </form>
  28.  
  29. <?php
  30.  
  31. } ?>


Proszę o pomoc.
blahy
nie wiem czy ominales to celowo, ale musisz sie najpierw polaczyc z baza. kod podobny do tego:
  1. $dbUser='uzytkownik';
  2. $dbPassword='haslo';
  3. $dbHost='localhost';
  4. $dbName='nazwa_bazy';
  5.  
  6. $dbc=mysql_connect($dbHost,$dbUser,$dbPassword) or die('unable to connect: '.mysql_error());
  7.  
  8. mysql_select_db($dbName) or die('unable to select database: '.mysql_error());


mozna to miec w osobnym pliku i tylko includowac. pierwszy warning pokazuje ze nie udalo sie zalogowac na mysql
Ramzaa
A no tak, zapomniałem dołączyć tego pliku ^^. Ok wielkie dzięki.
Ale jest następny problem, bo nie mogę dodać nic do tabeli, żadnego błędu nie ma, po prostu nie dodaje rekordów.

Skrypt:

  1. <?php
  2.  
  3. include('baza.php');
  4.  
  5. if (isset($_POST['submit']))
  6. {
  7. $login = $_POST['login'];
  8. $pass = $_POST['password'];
  9.  
  10. $add = "INSERT INTO `users` (`login`, `password`) VALUES (`$login`, `$password`)";
  11. mysql_query($add);
  12.  
  13. echo ("Konto $login zostało pooprawnie stworzone!");
  14.  
  15. }
  16.  
  17. else
  18. {
  19.  
  20. ?>
  21.  
  22. <form action="<?php echo $PHP_SELF; ?>" method="POST">
  23.  
  24. <input type="text" name="login"><br />
  25. <input type="password" name="password"><br /><br />
  26.  
  27. <input type="submit" value="submit" name="submit">
  28.  
  29. </form>
  30.  
  31. <?php
  32.  
  33. } ?>


Co jest nie tak?
mkdes
Zazwyczaj wynika to z tego, że w zapytaniu INSERT do bazy dla pól z opcją NOT NULL nie wpisujesz żadnej wartości, albo nawet nie ma tego pola w zapytaniu INSERT.
Możesz zrobić tak.
1. pole w bazie robisz zezwól na NULL, Default=NULL -<to w phpMyAdmin
2. w php robisz tak:

Kod
$zmienna_tekstowa = empty($zmienna) ? 'NULL' : '\''.$zmienna.'\''; (dla zmiennych liczbowych wywalamy apostrofy, czyli zostaje tylko: empty($zmienna) ? 'NULL' : $zmienna )
$sql = 'INSERT INTO baza SET pole='.$zmienna_tekstowa.', pole2='.$zmienna2;


Ramzaa
Super. Działa.

Ok, opanowałem AUTO_INCREMENT, "zainstalowałem" je w bazie i działa poprawnie smile.gif

Zrobiłem także listę zarejestrowanych użytkowników:

  1. $users_registered = "SELECT `id`,`login` FROM `users`";
  2. $show_users_registered = mysql_query($users_registered);
  3.  
  4. while ($wiersz = mysql_fetch_row($show_users_registered))
  5. {
  6. echo '<a href="uzytkownicy.php?name='. $wiersz[1] .'">'.$wiersz[1].'</a><br />';
  7. }


Ok teraz biorę się za logowanie, ale nie mam pojęcia jak to zrobić. Jakieś wskazówki?
darophp
Poczytaj o sesjach albo cookie smile.gif ... raczej sesjach.
- http://pl.wikibooks.org/wiki/PHP/Sesje
- http://www.egrafik.pl/phpmysql-prosty-syst...owania,880.html
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.