Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Nie widać bazy w phpmyadmin z poziomu PHP[początkujący]
SheepSheep
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.10.2012

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


Witam serdecznie!

Jestem jeszcze zielony w tematyce PHP + MYSQL więc proszę o wyrozumiałość.

Krótkie pytania:

Dlaczego po wykonaniu takich zapisów
  1. $zapytanie = 'CREATE DATABASE sheep';
  2. $wykonaj = mysql_query ( $zapytanie );

i oczywiście wcześniejszym sprawdzeniu połączenia z mysql (mysql_connect) utworzona baza nie pokazuje mi się na liście w phpmyadmin?

Bawie się(bo tego nie można nazwać pisaniem kodu) Wampserverem, stworzenie bazy i tabel z poziomu phpmyadmina w SQL nie stanowi żadnego problemu, natomiast chcę z poziomu php stworzyć bazę, tabelę i w wyniku czego nie widzę tych baz/tabel po lewej stronie w phpmyadmin.
Czy ja w ogóle do tego dobrze podchodzę? Czy może stworzyć w phpmyadmin bazę, jej tabelę, a w php tylko na niej operować (dodawać wpisy/wyszukiwać/kasować itp.)? Myślę, że na początek napisanie czegoś takiego będzie dobrą praktyką.

Liznąłem(parę tutoriali) troszkę podstaw php więc każda pomoc będzie na pewno pomocna.

Czy stosowanie takich zapytań do SQL'a, które umieściłem w syntaxie jest poprawne?

Dziękuję z góry za wszelką pomoc.

Pozdrawiam

Ten post edytował SheepSheep 17.10.2012, 22:02:25
Go to the top of the page
+Quote Post
Piogola
post
Post #2





Grupa: Zarejestrowani
Postów: 151
Pomógł: 36
Dołączył: 1.02.2011
Skąd: Warszawa

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


po wykonaniu zapytania dodaj
i sprawdź co wypluwa
Go to the top of the page
+Quote Post
abort
post
Post #3





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


1. Zapytanie jest składniowo poprawne, powinno się wykonać
2. Jeśli się nie wykonało, to powinieneś sprawdzić, co zawiera zmienna $wykonaj i co wyrzuca mysql_error();
3. funkcje mysql_* wkrótce znikną z nowych wersji PHP - może warto zainwestować swój czas w poznawanie mysqli albo PDO?

Ogólnie tworzenie tabel w phpmyadminie nie jest takie głupie - tym bardziej, że nawet w trakcie pisania programu musimy czasami zrewidować pogląd na kształt bazy i dodać/usunąć kolumny, a najlepiej to zrobić w jakimś sensownym interfejsie. Oczywiście warto umieć tworzyć bazy i tabele zwykłymi zapytaniami, ale człowiek jest leniwy i phpmyadmin to wcale nie takie zło.

P.S.
Nie wiem jak to u Ciebie wygląda, ale może warto zainteresować się poleceniem FLUSH: http://dev.mysql.com/doc/refman/5.0/en/flush.html

Go to the top of the page
+Quote Post
SheepSheep
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.10.2012

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


Problemem okazał się brak
root w:
  1. $lacz = mysql_connect( "localhost","root","");


To dziwne, że nie ma różnicy pomiędzy używaniem cudzysłowów, a apostrofów.
A co do mysql_error() było podstawowy błąd, którego w google było od groma. Access denied for user (IMG:style_emoticons/default/wink.gif) )


Przy okazji spytam czy wiecie dlaczego nie mogę w wierszu poleceń tworzyć tabeli/baz(tray wamp->mysql->mysql console)?

Podejrzewam, że winien jest wszystkiemu chyba ten użytkownik, którym tak usilnie próbuję wszystko zrobić(brak ustawienia hasła?).



Dlatego chciałem nauczyć się tworzyć tabele z poziomu php'a bo z tym mam problem i zwracam się do Was, mysql przy tym to pikuś.

Czyli gdy już w miarę nauczę się tego, wyjdzie to z użytku, super (IMG:style_emoticons/default/smile.gif)

Jeszcze prosiłbym o wskazanie różnic między:
  1.  
  2. $zapytanie = 'CREATE DATABASE sheep';
  3.  
  4. $wykonaj = mysql_query ( $zapytanie );
  5.  
  6. a tym
  7. mysql_create_db("sheep");


Dzięki za dotychczasowe odpowiedzi (IMG:style_emoticons/default/wink.gif)

Ten post edytował SheepSheep 18.10.2012, 18:10:33
Go to the top of the page
+Quote Post
abort
post
Post #5





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Z cyklu "krótka instrukcja działania forum": Jak masz kod w PHP (tak tak Ty zrobiłeś, czyli w odpowiednich tagach), to funkcje wyświetlają się podkreślone i na czerwono.
Mało tego, możesz w takie funkcje klikać - przeniesie Cię na stronę manuala PHP dotyczącą właśnie tej funkcji, którą kliknąłeś.

A teraz clue: kliknij na mysql_create_db i poczytaj wszystko, co jest napisane, ze szczególnym uwzględnieniem Example #1 i User Contributed Notes, #2.

P.S.
Nie ma żadnej różnicy, dobrze kombinujesz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
SheepSheep
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.10.2012

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


Jak narazie jedyną różnicą jaką zauważyłem jest to, ze zapytanie mysql_query jest 'uniwersalne', czyli możemy tam podstawić dowolne zapytanie do bazy, natomiast mysql_create_db sluzy tylko do tworzenia bazy, tylko taką róznicę narazie widzę, ale to chyba nie jest jakaś najważniejsza między nimi bo to by było za proste (IMG:style_emoticons/default/wink.gif)

Jakiś cPanel creator będę musiał pobrać.

Zapowiada się ciekawy weekend (IMG:style_emoticons/default/wink.gif)

Jeśli masz jakieś sposoby albo porady dla mnie by kombinować, proszę napisz mi je (IMG:style_emoticons/default/wink.gif)


Pozdrawiam
Go to the top of the page
+Quote Post
abort
post
Post #7





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

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


Cytat(SheepSheep @ 18.10.2012, 23:11:20 ) *
Jak narazie jedyną różnicą jaką zauważyłem jest to, ze zapytanie mysql_query jest 'uniwersalne', czyli możemy tam podstawić dowolne zapytanie do bazy, natomiast mysql_create_db sluzy tylko do tworzenia bazy, tylko taką róznicę narazie widzę, ale to chyba nie jest jakaś najważniejsza między nimi bo to by było za proste (IMG:style_emoticons/default/wink.gif)

W poprzednim poście nieco nakłamałem pisząc "nie ma żadnej różnicy". Otóż jest jedna, najważniejsza - dotyczy zwracanych wartości. W mysql_query może to być typ resource albo bool - w skrócie: jak robisz SELECT na bazie, to zwracany jest resource, z którego możesz odczytywać poszczególne wiersze (np. przez mysql_fetch_assoc). Ale jak już robisz np. INSERT, to zwrotną informacją będzie tylko to, czy zapytanie wykonało się poprawnie - więc dostaniesz logiczne TRUE lub FALSE.

Natomiast w przypadku mysql_create_db dostaniesz tylko logiczną wartość, która będzie oznaczała, czy tablica w bazie została utworzona czy nie.

Wszystko to zostało napisane w manualu do mysql_query. Swoją drogą, na stronie php są dostępne manuale w postaci Windows HTML Help File - polecam. Nawet pomimo tego, że nie zawsze pierwszej świeżości, to jednak na początek i tak będziesz miał co czytać. Oczywiście opis funkcji na stronie php też jest nie do przecenienia, w szczególności cenne bywają User Contributed Notes - ale to może jednak nieco później.

Cytat(SheepSheep @ 18.10.2012, 23:11:20 ) *
Jakiś cPanel creator będę musiał pobrać.
Zapowiada się ciekawy weekend (IMG:style_emoticons/default/wink.gif)

Spokojnie, dasz radę. Oczywiście nie od razu Kraków zbudowano, ale powoli do celu. Swoją drogą, po co cPanel? To chyba armata na muchy. phpMyAdmin powinien wystarczyć, a jeśli już koniecznie chcesz coś okienkowego do bazy, to fajną rzeczą jest Heidi SQL, o czym kiedyś poczytałem właśnie tu na forum i bardzo mi to przypadło do gustu.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
To dziwne, że nie ma różnicy pomiędzy używaniem cudzysłowów, a apostrofów.

Dziwne to jest to, czumu początkujący nie czytają dokumentacji...

Lektura obowiązkowa:
http://pl1.php.net/manual/pl/language.types.string.php
A dowiesz się, że jednak różnice są.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 15:51