Wątek przeniesiony 2016-01-19 08:18 z PHP przez dzek69.

Nie mogę się połączyć z bazą mysql

0

Witam poszukuję rozwiązania problemu z którym męczę się już trochę czasu.
Otóż mam zainstalowane oprogramowanie Xampp na komputerze i chcę dodać rekordy do bazy Mysql poprzez formularz php. Lecz gdy odwołuję się do bazy poprzez polecenie (mysql_connect) wyświetla mi błąd:

Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\XAMPP\htdocs\select2.php:3 Stack trace: #0 D:\XAMPP\htdocs\select1.php(2): include() #1 {main} thrown in D:\XAMPP\htdocs\select2.php on line 3

A oto kod:

<?php $con=mysql_connect('localhost','root','') or die('ERROR SERWER'); mysql_select_db('osoba',$con) or die('ERROR BAZA'); ?>

Jestem zielony jeżeli chodzi o php, czytałem też wpisy na tym forum odnośnie problemu lecz niektórych rzeczy nie rozumiałem a inne mi nie pomogły. Założyłem nowy temat gdyż tamte mają już ponad rok. Proszę o szybką odpowiedź z góry dziękuję.

0

A jak się nazywa Twoja baza? Zaloguj się przez phpmyadmina i sprawdź zamiast w ciemno strzelać.

0

Moja baza to "osoba" tabela w niej to "osoba", to nie jest strzał.

0

Po pierwsze mysql_connect() nie powinno być już używane bo to staroć. Więc mamy dwa przypadki:

  1. Masz zainstalowane PHP 7 w którym nie ma już funkcji mysql_connect(). Rozwiązaniem jest użycie jej odpowiednika mysqli lub użycie PDO.
  2. Nie masz włączonego/zainstalowanego rozszerzenia MySQL do PHP.
0

Tak jak wspomniałem jestem zielony i nie miałem pojęcia że funkcja mysql_connect jest już nie używana. Więc zgłoszę się z kolejną prośbą o odpowiednią funkcję pod php 7.

0

Użyj PDO. Tu masz przykłady po polsku:
http://d9.com.pl/php-pdo-mysql-samouczek/

0

Dzięki wielkie postaram się coś ogarnąć, jeżeli będę miał jeszcze jakieś pytania czy wątpliwości to się odezwę :).

0

Coś lecz znowu są jakieś błędy czy mógłby ktoś to przeanalizować

<!doctype html> <html> <head> <meta charset="utf-8" /> </head> <body> Wyniki dodania
<?php $lp = trim($_POST['lp']); $imie= trim($_POST['imie']); $nazwisko = trim($_POST['nazwisko']);
  @ $db = new mysqli('localhost','root','','dane_os');

  $db->query('SET NAMES utf8');
  $db->query('SET CHARACTER_SET utf8_unicode_ci');
  
  $zapytanie = "insert into osoba values ('".$lp."', '".$imie."', '".$nazwisko."')";
  $wynik = $db->query($zapytanie);
  
  if ($wynik) echo 'Liczba danych dodanych do bazy:'.$db->affected_rows;
?> 
</body> </html>

błędy to

Warning: mysqli::query(): Couldn't fetch mysqli in D:\XAMPP\htdocs\dodajdobazy.php on line 17

Warning: mysqli::query(): Couldn't fetch mysqli in D:\XAMPP\htdocs\dodajdobazy.php on line 18

Warning: mysqli::query(): Couldn't fetch mysqli in D:\XAMPP\htdocs\dodajdobazy.php on line 21

0

Przecież miałeś napisane, żeby użyć PDO.

0

Wiem, lecz znalazłem coś takiego i chciałem aby ktoś to sprawdził, wolałbym aby był to czysty php bez PDO lecz jak już będzie konieczny to i jego użyje. Lecz teraz jeszcze raz proszę o analizę powyższego kodu i pomocy.

0

Dlaczego wolisz, zeby to byl czysty php?

Moja baza to "osoba" tabela w niej to "osoba"

@new mysqli('host', 'uzytkownik', 'haslo', 'nazwa bazy');

Czemu w takim razie jako nazwe bazy podajesz dane_os??

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