![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam kilka pytań
1. uczę się php i mysql i mam pewien problem: stworzyłem formularz(plik do_showfielddef.php), w którym definiuje pola tabeli, która ma być stworzona, a następnie w pliku do_createtable.php wykonane mają byc instrukcje sql, aby tabela została stworzona w mojej bazie... Błąd następuje po wypełnieniu formularza z polami tabeli (do_showfielddef.php) i przesłania go do pliku do_createtable.php. Treść błędu jest taka: Kod Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\do_createtable.php on line 34 a kod pliku do_createtable.php to: Kod <!--HEADER--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16"> <META HTTP-EQUIV="Reply-to" CONTENT="adres zwrotny"> <META NAME="Description" CONTENT="opis dokumentu"> <META NAME="Author" CONTENT="autor dokumentu"> <META NAME="Generator" CONTENT="Zajączek 3.0"> <TITLE>Utwórz tabelę bazy danych: Etap 3</TITLE> </HEAD> <BODY> <h1>Dodawanie tabeli <?php echo "$_POST[table_name]"; ?> </h1> <?php $sql = "CREATE TABLE $table_name ("; // dodaje do instrukcji sql pola tabeli , ich typ i dł jeżeli była podana for ($i = 0; $i < count($_POST[field_name]); $i++) { $sql .= $_POST[field_name][$i]." ".$_POST[field_type][$i]; if ($_POST[field_length][$i] != "") { $sql .= " (".$_POST [field_length][$i]."),"; } else { $sql .= ","; } } $sql = substr($sql, 0, -1); $sql .= ")"; //utwórz połączenie $conn = mysql_connect("localhost","root","root") or die(mysql_error()); //wybierz baze danych $db = mysql_select_db("MyDB", $conn) or die(mysql_error()); //wykonaj zapytanie sql i pobierz wyniki $sql_result = mysql_query($sql,$conn) or die(mysql_error()); //wyświetl komunikat o powodzeniu if ($sql_result) { echo "<p>$_POST[table_name] została utworzona!</p>"; } ?> </body> </HTML> mam nadzieję, że wszystko opisałem w miare jasno... zapewne błąd jest prosty, ale jako nowicjusz nie potrafię go znaleźć;) 2. nie wiem czy mam włączone mysql na kompie, ponieważ kilka dni temu to zainstalowałem i nie wiem czym to się dokładnie włącza;) poki co stworzyłem tam bazę i mam włączoną mysql command line clienta , ale nie wiem czy to wystarczy żeby serwer mysql był uruchomiony i możnabyło się z nim łączyć:) 3. możecie mi powiedzieć czemu w fragmencie kodu: Kod $sql .= $_POST[field_name][$i]." ".$_POST[field_type][$i]; i Kod $sql .= " (".$_POST [field_length][$i]."),"; sa kropki przy zmiennych $_POST[field_name, type, length](IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? nie weim do czego one służą... 4. jeżeli z pliku php chcę połączyć się z bazą , to muszę wpsać host, login do bazy i hasło. Jednak jak to zrobić żeby to hasło nie było widoczne dla innych? przecież każdy może zobaczyć sobie kod źródłowy i będzie znać hasło... nie wiem czy dobrze rozumuję;) sprostujcie mnie w razie czego, albo podajcie jak się to rozwiązuje... Pozdrawiam proszę o pomoc Ka-lolek |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Zacznij czytac manuala php (http://pl.php.net/manual/pl/) po kolei -- tam sa opisane postawy (m.in. Kropkowanie).
4. tak sie to robi, a kodu nie podejrzysz ogladajac strone php (strone wyswietklona za pomoca php); no chyba ze masz serwer bardzo zle sonfigurowany, dopiero zagladajac do pliku *.php na dysku twardym -- czyli tak jak przy jego edycji. 3. To jest konkatenacja. Laczenie ("dodawanie") kilku stringow (lub innych typow) w jeden string. 1. sprawdz w pliku php.ini czy masz wlaczone rozszerzenie mysql |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
1. Sprawdź czy masz włączone rozszerzenie obsługi MySQL'a w php.ini (linia extension=php_mysql.dll)
2. Ad. 1 3. Kropka to operator łączenia ciągów 4. Skrypt php jest wykonywany po stronie serwera i kod źródłowy nie jest widoczny w przeglądarce klienta. O połączeniach z bazą mysql" title="Zobacz w manualu PHP" target="_manual... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat(crashu @ 2005-06-19 16:10:40) 1. Sprawdź czy masz włączone rozszerzenie obsługi MySQL'a w php.ini (linia extension=php_mysql.dll) jesli nie ma to zapewne jest to 5.x a tam juz powinno sie uzywac mysqli" title="Zobacz w manualu PHP" target="_manual |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
otworzylem plik php.ini (mam php5) i znalazlem tam jedynie linie extension=msql.dll
i ; extension=msql.so takze chyba nie mam wlaczonej obslugi mysql... jak mam ja wlaczyc? Nie bardzo wiem o czym sopel mówi... jakie mysqli? co to jest ? |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Nie msql a mysql (mysqli). To dość duża różnica. Widzę, że to linux więc zobacz czy masz w ogóle zainstalowane rozszerzenie php_mysql.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
mam windowsa...
powiedzciemi co musze zrobic zeby mieczainstalowane w php obsluge mysql, bo w ksiazce , z ktorej sie ucze pisze , iz powinien on byc standardowo zainstalowany..... |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
@Ka-lolek: (IMG:http://forum.php.pl/uwaga.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
No do dobrze pisza, powinien (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Ehhh... dopiero w wersji angielskiej jest to co trzeba: http://pl.php.net/manual/en/ref.mysql.php Cytat php 5+
MySQL is no longer enabled by default, so the php_mysql.dll DLL must be enabled inside of php.ini. Also, php needs access to the MySQL client library. A file named libmysql.dll is included in the Windows php distribution and in order for php to talk to MySQL this file needs to be available to the Windows systems PATH. See the FAQ titled "How do I add my php directory to the PATH on Windows" for information on how to do this. Although copying libmysql.dll to the Windows system directory also works (because the system directory is by default in the systems PATH), it's not recommended. As with enabling any php extension (such as php_mysql.dll), the php directive extension_dir should be set to the directory where the php extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value for php 5 is c:\php\ext |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
aha, wiec w php 5^ mysql nie jest automatycznie wlaczony...
tylko nie wiem co trzeba zrobic zeby to wlaczyc... prosilbymn o w miare dokladna instrukcje;) i jeszcze jedno : msql mysql i mysqli to są różne rzeczy ? (czym się różnią?) POzdrawiaM Ka-lolek |
|
|
![]()
Post
#11
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
msql => mSQL
mssql => Microsoft SQL mysqk => stary MySQL mysqli => nowa obsługa MySQL A jak instalować to już Ci dr_bonzo zacytował dwa posty wyżej (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował crashu 19.06.2005, 18:50:17 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
ale to mysql i mysqli odnosi się funkcji połączeń z bazą danych z php tak (funkcje php są inne)?
bo sam serwer bazy mysql pozostał taki sam i można go obsługiwać za pomocą poleceń sql? i od czego się wzięła nazwa mysqli? hmmm co do instalacji, to nei znam perfekcyjnie angielskiego dlatego powiedzcie co musze zrobic - w php.ini musze usunac ; przed php_mysql.dll... ? - cos z libmysql.dll ale nie wiem co (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) - extension_dir trzeba gdzies wrzucic... ale gdzie?(IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) i co to jest to extension_dir ? POzdro prosze o odpowiedz i instrukcje jak zainstalowac mysql w php5 Ka-lolek |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Nie no tu się tylko cały czas cofamy... Na forum było już wiele razy opisywane instalowanie Apache'a, php i MySQL'a... Poszukaj sobie.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
ale mi tu nie chodzi o instalacje mysql, tylko włączenie obsługi mysql w php5...
takze jakby ktos mogl to bardzo prosze o wskazowki, co przekopiowac/który plik zmodyfikować i jak. Pozdrawiam edit to powie mi ktoś co muszęzrobić z tym plikiem libysql i extension_dir? nie mogę tego faq znalezc na stronie php Ten post edytował Ka-lolek 20.06.2005, 11:09:30 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 01:34 |