Avatar billede ricardo Nybegynder
25. maj 2000 - 19:17 Der er 19 kommentarer og
2 løsninger

Connecte til MS SQL Server 7.0 med mssql_connect() - hvordan?

Jeg har NT Server med en fungerende PHP3, og SQL Server 7.0.

Jeg vil gerne kunne bruge mssql_connect() i stedet for odbc_connect() for at kunne hente data: og hvis jeg kan slippe for en DSN ville det også været rart.

Hvordan gør man?

Svar der virker med Access kan ikke bruges til noget.
Avatar billede haldesign Nybegynder
25. maj 2000 - 19:21 #1
$connection = mysql_connect("server","brugernavn","password");
mysql_select_db("database", $connection);

- Anders
Avatar billede haldesign Nybegynder
25. maj 2000 - 19:23 #2
Fortsættelse...

Når du f.eks skal hente fra databsen skriver du bare:
mysql_query("SELECT * FROM tabel");

- Anders
Avatar billede haldesign Nybegynder
25. maj 2000 - 19:24 #3
Hvis du er ny med sql kan du kontakte mig på ICQ 40594908 - og jeg vil prøve at hjælpe!!

- Anders
Avatar billede haldesign Nybegynder
25. maj 2000 - 19:31 #4
UPZ... jeg er vist en smule træt... troede der stod mysql!!
Men fungerer det ikke på samme måde??

- Anders
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:04 #5
Det virker vist på samme måde. Hvordan looper jeg gennem recordsettet?
Avatar billede fmadse1 Nybegynder
25. maj 2000 - 20:04 #6
$c = mssql_connect('navn','brugernavn','password');
$db = 'databasenavn';
$b = mssql_select_db($db,$c);

derefter


$result=(mssql_query($sql,$b));
while ($row=mssql_fetch_row($result)) {osv,osv}
vh fmadse1
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:05 #7
BTW: SQL som sådan er ikke noget problem - det er PHP's syntax og inbyggede funktioner til gengæld!
Avatar billede fmadse1 Nybegynder
25. maj 2000 - 20:08 #8
Det ovenover er fra php
Vh fmadse1
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:14 #9
Ja, ok - så langt så godt:

$connection = mssql_connect("minserver","sa","");
mssql_select_db("mintabel", $connection);
$sql = "select headline, subheader from news";
$result = mssql_query($sql);

while($row=mssql_fetch_row($result))

echo $row."<br>"

Men alt hvad den returnerer er "Array"...hvordan får jeg fat i selve dataene?
Avatar billede fmadse1 Nybegynder
25. maj 2000 - 20:17 #10
inde i whilen skriver du
echo "$row[0]";
og du får fat i den første attribut i svaret $result(der hvor jeg har skrevet osv osv)
VH fmadse1
Avatar billede haldesign Nybegynder
25. maj 2000 - 20:23 #11
-> ricardo

Det gør du sådan her:

$result = mssql_query("SELECT headline, subheader FROM news");
$number = mssql_num_rows($result);
while ($row = mssql_fetch_array($result)) {
  echo $row[headline]."<br>";
  echo $row[subheader];
}

- Anders
Avatar billede haldesign Nybegynder
25. maj 2000 - 20:24 #12
-> fmadse1
Jeg skal huske at uploade... sorry!

- Anders
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:28 #13
Yeps, jeg gættede mig til den array handling som ligner hvad man finder i andre sprog. Nu er jeg godt i gang takket være jer to, så jeg deler pointsene lige - OK?

Hvordan kan jeg undgå at få feltnavnene som den første del af output'et? Eller rettere sagt, kan det lade sig gøre at hente feltnavnene og værdiene hver for sig?
Avatar billede haldesign Nybegynder
25. maj 2000 - 20:30 #14
Har du icq?

Jeg forstod ikke helt det sidste... den burde kun hente dataerne fra databasen...

ICQ: 40594908
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:38 #15
Firewall'en her er helt lukket for ICQ og deslige.

Do'h! Jeg havde glemt at den første række var testdata der helt enkelt består af feltnavnene! Derfor troede jeg at den dumpede feltnavnene til skærmen.

Er der en måde at hente feltnavnene og de tilsvarende værdier?

I VBScript/ASP ville man gør således:

sql = "SELECT headline, subheader FROM news"

set rs = cn.execute(sql)

while not rs.eof

for each fld in rs.fields
tmpval = tmpval & fld.name & ": " & fld.value & "<br>"
next
tmpval = tmpval & "<hr>"
response.write(tmpval)
rs.movenext
wend

Jeg håber I forstår hvad jeg mener...?
Avatar billede haldesign Nybegynder
25. maj 2000 - 20:47 #16
Jeg forstår hvad du mener, men aner desv. ikke hvordan man gør det... og fatter desv. ikke et kvæk ASP...

- Anders
Avatar billede fmadse1 Nybegynder
25. maj 2000 - 20:51 #17
istedet for msql_fetch_row() kan du bruge
msql_fetch_field()
vh fmadse1
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:53 #18
ASP er fedt - og stærkt efterspurgt. Men det et også godt at kunne køre på Unix/Linux.

Jeg vil gerne lave noget generisk der spytter tabeller ud - med kolonnenavnene som den første række. Jeg kan sagtens finde ud af det med syntaksen, men der må være en eller anden indbygget funktion der kan klare det.

Men tusind tak for hjælpen alligevel.
Avatar billede ricardo Nybegynder
25. maj 2000 - 20:55 #19
Tak fmadse1. Det prøver jeg straks. Hvilke argumenter tager den imod?
Avatar billede fmadse1 Nybegynder
25. maj 2000 - 20:57 #20
Har aldrig selv brugt. Her er hvad jeg kunne finde på vores online manual

object msql_fetch_field(int query_identifier, int field_offset);

Returns an object containing field information

msql_fetch_field() can be used in order to obtain information about fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retreived by msql_fetch_field() is retreived.

The properties of the object are:


name - column name

table - name of the table the column belongs to

not_null - 1 if the column cannot be null

primary_key - 1 if the column is a primary key

unique - 1 if the column is a unique key

type - the type of the column


See also msql_field_seek().
Vh fmadse1
Avatar billede ricardo Nybegynder
25. maj 2000 - 21:47 #21
Takker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester