Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Baza danych OVH nie pobiera rekordów
Muodszy
post 31.03.2016, 22:15:26
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

Ostrzeżenie: (0%)
-----


problem wygląda następująco:
zakupiłem, założyłem bazę, w niej tabelę tools do niej przypisałem dwóch użytkowników z uprawnieniami - jeden administrator drugi odczyt/zapis, próbuję użyć bazy tzn odczytać z niej dane następnie porównać (login, haslo) później pobrać resztę. No ale niestety zatrzymałem się na samym początku tzn pobraniu rekordów z bazy,kod wygląda następująco:
  1. <?php
  2. $serv = 'dd123456-001.privatesql:12345';
  3. $conn = mysql_connect($serv,Daniel,pass,tools);
  4. if($conn)
  5. {
  6. $query = "SELECT * FROM user";
  7. $query_do = mysql_query($conn, $query);
  8. while ($row = mysql_fetch_array($query_do))
  9. {
  10. echo $row['user'];
  11. echo $row['password'];
  12. echo $row['acc_type'];
  13. };
  14. }
  15. else
  16. {
  17. echo 'NIE ŁĄCZY Z BAZĄ';
  18. };
  19. ?>

Po odpaleniu strony nic się nie dzieje,tzn nie ma błędu połączenia z bazą ale też nie wyświetla rekordów.. Ale jeżeli wpiszę złe hasło to błąd połączenia jest więc łączy ale nie pobiera.. dlaczego?
nie ukrywam, że robię to pierwszy raz na serwerze i może czegoś nie ustawiłem tak jak powinienem
Go to the top of the page
+Quote Post
toaspzoo
post 31.03.2016, 22:24:54
Post #2





Grupa: Zarejestrowani
Postów: 778
Pomógł: 84
Dołączył: 29.07.2010
Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury.

Ostrzeżenie: (20%)
X----


Masz włączone raportowanie błędów? W nowych wersjach php nie można już korzystać z mysql_. Zainteresuj się PDO.


--------------------

LS Easter egg <
Go to the top of the page
+Quote Post
Johnas
post 31.03.2016, 22:42:49
Post #3





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

Ostrzeżenie: (0%)
-----


pierwszy raz widzę taki sposób na połączenie... Baza danych zazwyczaj zawsze jest na porcie 3306 i tego nie trzeba zmieniać... Czy Ty wiesz w ogóle czy łączysz się z bazą danych ? (w manualu znalazłem odpowiedź na to dlaczego pobierasz w taki sposób zapytania, używasz funkcji pod mysqli). Spróbuj tego i napisz czy działa:

  1. <?php
  2. $servername = "HostBazyDanych";
  3. $username = "LoginBazyDanych";
  4. $password = "HasloBazyDanych";
  5. $dbname = "NazwaBazyDanych";
  6. // Create connection
  7. $mysqli = new mysqli($servername, $username, $password, $dbname);
  8.  
  9. /* check connection */
  10. if ($mysqli->connect_errno) {
  11. printf("Connect failed: %s\n", $mysqli->connect_error);
  12. exit();
  13. }
  14.  
  15. $query = "SELECT * FROM user";
  16. $result = $mysqli->query($query);
  17. $row = $result->fetch_array(MYSQLI_ASSOC);
  18.  
  19. foreach ($row as $snickers) {
  20. // Tutaj masz co chcesz - Najlepsza metoda na głoda
  21. }
  22. ?>



toaspzoo on używa finkcji mysql_connect, a później robi przykład mysqli_query tak jak na przykładzie... Dziwne, bo ja nie używałem żadnych zmiennych kiedy używałem mysql_query, dlatego byłem zdziwiony... Teraz używam klasy pod mysqli z githuba i jestem zadowolony... Wszyscy chwalą PDO, ale jak coś działa to nie chcę się uczyć czegoś innego, bo wszyscy używają innej metody... Moja memoria z wiekiem staje się nieskłonna do współpracy na pochłanianie nowej wiedzy, a z programowaniem trzeba być ciągle na bieżąco, dlatego oszczędzam jej wysiłek i pracuje na tym na czym mi wygodnie smile.gif


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
Muodszy
post 31.03.2016, 23:08:22
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

Ostrzeżenie: (0%)
-----


@GodOfPeople

Connect failed: Unknown MySQL server host 'pd123456-001.privatesql:35122' (1)

a dane do bazy wziąłem z maila od ovh:

  1. Zamówiona przez Państwa instancja Prywatnego Serwera SQL pd123456-001 została zainstalowana i jest gotowa do użytku.
  2. Zapraszamy do korzystania z tej usługi za pomocą poniższych informacji:
  3.  
  4. - Nazwa hosta: pd123456-001.privatesql
  5. - Port: 35122
  6.  
  7. 1. Zakładanie baz danych i/lub użytkowników Bazy danych i użytkowników można dodawać w panelu klienta. Panel klienta jest dostępny pod tym adresem:
  8.  
  9. [url="https://www.ovh.com/manager/"]https://www.ovh.com/manager/[/url]
  10.  
  11. 2. Połączenie z bazą danych
  12. Do połączenia z bazą danych należy używać:
  13.  
  14. - Nazwy hosta i portu (są one podane powyżej),
  15. - Konta użytkownika utworzonego w panelu klienta (punkt 1).


żeby było śmieszniej mysqli z twojego kodu zamieniłem na mysql i nie ma błedu ale dalej nic nie wyswietla

Ten post edytował Muodszy 31.03.2016, 23:20:07
Go to the top of the page
+Quote Post
Johnas
post 1.04.2016, 10:02:41
Post #5





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

Ostrzeżenie: (0%)
-----


Może źle definiujesz port połączenia... spróbuj tak:

  1. <?php
  2. $servername = "dd123456-001.privatesql";
  3. $username = "Uzytkownik";
  4. $password = "Password";
  5. $dbname = "NazwaBazyDanych";
  6. $port = "35122";
  7. // Create connection
  8. $mysqli = new mysqli($servername, $username, $password, $dbname, $port);
  9.  
  10. /* check connection */
  11. if ($mysqli->connect_errno) {
  12. printf("Connect failed: %s\n", $mysqli->connect_error);
  13. exit();
  14. }
  15.  
  16. $query = "SELECT * FROM accounts";
  17. $result = $mysqli->query($query);
  18.  
  19. while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
  20. print_r($row);
  21. // Tutaj masz co chcesz - Najlepsza metoda na głoda
  22. }
  23. ?>


Przez Ciebie musiałem zmienić hasło do bazy, bo wkleiłem tutaj kod z moim hasłem tongue.gif

Ten post edytował GodOfPeople 1.04.2016, 10:10:17


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
Muodszy
post 1.04.2016, 10:13:13
Post #6





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.11.2014

Ostrzeżenie: (0%)
-----


Walczę dalej, teraz wygląda to tak..
  1. if(isset($_POST['wyslij']))
  2. {
  3.  
  4. $login = mysqli_real_escape_string($_POST['login']);
  5. $password = mysqli_real_escape_string(SHA1($_POST['password']));
  6.  
  7.  
  8. $mysqli = new mysqli($serv, $user, $pass, $db, $port);
  9.  
  10.  
  11. if ($mysqli->connect_errno) {
  12. printf("Connect failed: %s\n", $mysqli->connect_error);
  13. exit();
  14. }
  15.  
  16. $query = "SELECT * FROM user WHERE user = '$login'";
  17. $result = $mysqli->query($query);
  18.  
  19. while ($row = $result->fetch_array(MYSQLI_ASSOC))
  20. {
  21. if(strcmp($login,$row['user']) == 0 && strcmp($password,$row['password']) == 0 && $login != null)
  22. {
  23. $_SESSION['sesja'] = 1;
  24. $_SESSION['login'] = $login;
  25. $_SESSION['acc_type'] = $wynik['acc_type'];
  26. header('Location:index.php');
  27. }
  28. else
  29. {
  30. echo '<div id="error_log">Błędny login lub hasło</div>';
  31. };
  32. };
  33. };

niestety nie działa.. czemu? :/ i powiedzcie mi proszę jak włączyć obsługę błędów bo teraz mi żadne nie wyskakują po prostu nic się nie dzieje :/

Ten post edytował Muodszy 1.04.2016, 12:17:16
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.05.2024 - 21:07