Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Php + M$ SQL - dodawanie wpisow, proste pytanie;D
Axadiw
post 13.03.2005, 22:06:47
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 13.03.2005

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


Witam wszystkich,

Bez owijania w bawelne i pisania dlugich historii: mam krasnala z uaktywniona obluga ms sql, zainstalowany M$ SQL SERVER 2000

Nie wymagam od tej bazy zadnych skomplikowanych polecen, wystarczy mi dodawania/usuwanie wpisow oraz wyswietlanie zawartosci poszczegolnych tabel. Wczesniej mialem mala stycznosc z MySQL wiec mniej wiecej(bardziej mniej:D) mam pojecie o co chodzi. Przy instalacji poslugiwalem sie artem z 4proggramers.net http://4programmers.net/article.php?id=583 wiec mam takie cos(index.php):
  1. <?php
  2. include(&#092;"mssql.php\");
  3.  
  4. ?>

Skomplikowane prawda?biggrin.gif

plik mssql to:
  1. <?php
  2. $conn = mssql_connect(&#092;"localhost\", \"login\", \"pass\")
  3. or die('nie dało się połączyć');
  4. $baza = mssql_select_db(&#092;"baza\", $conn)
  5. or die(&#092;"nie dało się wybrać bazy\");
  6. function query($query)
  7. {
  8. global $conn;
  9.  echo nl2br($query).&#092;"<br />\";
  10. return mssql_query($query, $conn);
  11. }
  12. function num_rows($tabela)
  13. {
  14. $result = query('SELECT COUNT(*) FROM '.$tabela);
  15. $row = mssql_fetch_array($result);
  16. return $row[0];
  17. }
  18. ?>


Wszystko jest gites, odpalam plik index.php i wsio dziala, tzn biala strona, czyli zadnego bledu:D

Teraz: nie znam sie na M$ SQL ale na logike to wzialem i zrobilem cus takiego:


wiec mam baze "baza" i tabele "tabela" na ktorej bede cos robil. I teraz zaczynaja sie schody:D

zeby dodaj jakis wpis pisalem cos takiego
  1. <?php
  2.  
  3. $sql = &#092;"INSERT INTO tabela (login) values ('abc')\"; 
  4. $result = mssql_query($sql); 
  5. ?>

i wydaje sie wszystko jedno(biala strona:D) ale jak podgladam baze w enterprise menagerze to nic sie nie dodaje/zmieni, nic;/

probowalem wiec na pokazanie tej tabelki w formie tabelki:P
  1. <?php
  2. $query=&#092;"select * from tabela\"; 
  3. $doit=mysql_query($query); 
  4. $result=mysql_fetch_array($doit); 
  5. $zmienna1=$result[0]; 
  6. $zmienna2=$result[1]; 
  7. $zmienna3=$result[2];
  8. ?>

i nic, ciagle biala strona(spodobala sie mojemu kompowi najwyrazniej:D)

Przejzalem manual z php.pl i sa komendy na polaczenie z baza/rozlaczenie itp ale nie ma zadnych na dodawanie wpisow, szukam kursow, przejrzalem to forum ale niestetty nic mi nie dziala.
Prosze bardzo o jakis link czy cos dla biednego n00bka ktory chce poznac tajniki sql-a:D


--------------------
Galerio - galeria internetowa
Go to the top of the page
+Quote Post
SongoQ
post 13.03.2005, 22:20:45
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Jesli selecty dzialaja ok, a nie dzialaja insert, update i delete to musisz transakcje wprowadzic.

Dopiero teraz zauwazylem:
Nawet select Ci nie bedzie dzialal poniewaz zamiast mssql_query masz mysql_query

Zrob tak jak juz masz ta funkcje query napisana to przekaz do niej tego selecta funkcje Ci zwroci resource do wynikow.

Nastepnie sprawdz:
while ($aRekord = mssql_fetch_assoc($resource_z_query))
print_r($aRekord);

Jak Ci to zadziala to napisze Ci dalej.

Ten post edytował SongoQ 13.03.2005, 22:32:12


--------------------
Go to the top of the page
+Quote Post
Axadiw
post 13.03.2005, 22:28:56
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 13.03.2005

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


Hmm, jest selecty to to do wyswietlania wpisow to one mi nic nie wyswitlaja, nie wiem czy to dobrze czy zle:D

AHa, i co to sa transakcje?biggrin.gif ew. jakis kurs przez net czy cos byscie doradzili?biggrin.gif


--------------------
Galerio - galeria internetowa
Go to the top of the page
+Quote Post
SongoQ
post 13.03.2005, 22:37:44
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Sprawdz to co Ci wyzej napisalem.


--------------------
Go to the top of the page
+Quote Post
Axadiw
post 14.03.2005, 07:24:27
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 13.03.2005

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


Nie wiem czy dobrze zrobilem, mam takie cos:

index.php
  1. <?php
  2. include(&#092;"mssql.php\");
  3. $query=&#092;"select * from tabela\"; 
  4. $doit=mssql_query($query); 
  5. $result=mssql_fetch_array($doit); 
  6. $zmienna1=$result[0]; 
  7. $zmienna2=$result[1]; 
  8. $zmienna3=$result[2]; 
  9. while ($aRekord = mssql_fetch_assoc($doit))
  10. print_r($aRekord);
  11. ?>


mssql.php
  1. <?php
  2. $conn = mssql_connect(&#092;"localhost\", \"Axadiw\", \"Kleofas\")
  3. or die('nie dało się połączyć');
  4. $baza = mssql_select_db(&#092;"baza\", $conn)
  5. or die(&#092;"nie dało się wybrać bazy\");
  6. function query($query)
  7. {
  8. global $conn;
  9.  echo nl2br($query).&#092;"<br />\";
  10. return mssql_query($query, $conn);
  11. }
  12. function num_rows($tabela)
  13. {
  14. $result = query('SELECT COUNT(*) FROM '.$tabela);
  15. $row = mssql_fetch_array($result);
  16. return $row[0];
  17. }
  18. ?>


i po wlaczeniu index.php mam znow biala strone, a powpisywalem jakies glupoty do tabeli zeby zobaczyc czy dziala


fotomontaz:P:P


--------------------
Galerio - galeria internetowa
Go to the top of the page
+Quote Post
SongoQ
post 14.03.2005, 10:25:41
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Zakomentuj error_reporting(0); bo napewno masz jakis blad i zobaczysz gdzie.


--------------------
Go to the top of the page
+Quote Post
Axadiw
post 14.03.2005, 12:38:02
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 13.03.2005

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


Kod
Warning: mssql_query() [function.mssql-query]: message: SELECT permission denied on object 'tabela', database 'baza', owner 'dbo'. (severity 14) in c:\usr\krasnal\www\Axadiw\index.php on line 4

Warning: mssql_query() [function.mssql-query]: Query failed in c:\usr\krasnal\www\Axadiw\index.php on line 4

Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in c:\usr\krasnal\www\Axadiw\index.php on line 5

Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource in c:\usr\krasnal\www\Axadiw\index.php on line 9

mam cos takiego;/ ale nie mam juz pustej strony:P


EDIT:

jezeli jest permission denied to znaczy ze moze zle dalem uprawnienia uzytkownikom. W takiem razie, jak dodac nowego uzytkownika i nadam mu uprawnienia: pokaze jak ja to zrobilem:
naklikalem wszedzie gdze tylko mozna:P



EDIT2:

JEEEEE udalo mi sie, jakos sie pobawilem, pobawilem i jest, dzila wszystko, dzieki wielkie za pomoc, mozna zamknać temat:D

Ten post edytował Axadiw 14.03.2005, 13:14:49


--------------------
Galerio - galeria internetowa
Go to the top of the page
+Quote Post
No1B
post 18.03.2005, 10:35:12
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.11.2003

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


a wystarczylo wywolac w QA

Kod
GRANT select ON [baza].[dbo].[Tabela] TO Axadiw


Ogolnie - lepiej dawac mniej uprawnien dla uzytkownika niz wiecej.
Jezeli chcesz dac konkretnemu userowi prawa do odczytu z danego hosta - daj mu
db_datareader.

Pozdrawiam


--------------------
Apache 2.0.53 | PHP 5.0.3 | MSSQL 2000 SP4
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.2020 - 06:02