webForumDet fria alternativet

Nybörjartråden...

PHP

9 svar · 403 visningar · startad av nitro2k01

Medlem sedan aug. 20039 340 inlägg
Frågan#1
<?php
include ("pw.php");
mysql_connect("localhost","dtd",$pass);
mysql_select_db("dtd");
// Närmare beskrivning av query skulle önskas
mysql_query("insert into gb1 values ('', 'test', 'testbbb', 'testccc', 'testddd')");
// Vad tusan returnerar denna query?
$result = mysql_query('SELECT * FROM gb1 LIMIT 0, 30');
echo $result + "\n";

?>

I princip så har en kompis skrivit ihop detta åt mig. Connect och select_db antar jag funkar bra, men jag förstår mig inte på query. Han sa att den tomma strängen står för auto-increment av index. Om man inte villa autoincrementa, hur får man reda på längden då? (antalet index)
Vad returnerar den andra queryn, och hur kan jag använda det?

Medlem sedan nov. 2001274 inlägg
#2

Jag kan göra ett försök på en förklaring. Håll till godo.

mysql_query("insert into gb1 values ('', 'test', 'testbbb', 'testccc', 'testddd')");

Ovanstående kodsnutt sätter in angivna värden i tabellen gb1. Det som är lite klurigt är att fälten i tabellen inte är angivna, vilket kan göra det lite svårt att förstå. Ponera att tabellens fält är id, förnamn, efternamn och ålder. Då skulle det kunna se ut såhär.

mysql_query("insert into gb1 ('id', 'fornamn', 'efternamn', 'alder') values ('', 'Linus', 'Bäckman', '19')");

Om man har auto_increment på ett fält, som på fältet id i mitt exempel, så behöver man inte ens ha med det fältet vid en insert:

mysql_query("insert into gb1 ('fornamn', 'efternamn', 'alder') values ('Linus', 'Bäckman', '19')");

När man ska ta ut samma information ur databasen kan det se ut på följande sätt. Här nyttjar vi din andra SQL-fråga.

$result = mysql_query('SELECT * FROM gb1 LIMIT 0, 30');
while ($array = mysql_fetch_assoc($result)) {
echo $array["id"] ." ". $array["fornamn"] ." ". $array["efternamn"] ." ". $array["alder"] ."<br/>";
}

Om man istället vill specificera vilka fält man vill ta ut så tar man bort stjärntecknet (*). Detta kan vara bra om man vet att man inte behöver visa alla fält då det sparar lite belastning på databasen.

$result = mysql_query('SELECT id, fornamn, efternamn, alder FROM gb1 LIMIT 0, 30');
while ($array = mysql_fetch_assoc($result)) {
echo $array["id"] ." ". $array["fornamn"] ." ". $array["efternamn"] ." ". $array["alder"] ."<br/>";
}

LIMIT 0, 30 i frågan står för att man ska börja på första posten i databasen och visa 30 poster framåt. Denna funktion är väldigt bra att ha om man vill kunna bläddra bland informationen på flera sidor.

Medlem sedan aug. 20039 340 inlägg
#3

Ok, prövar på det nu. Nästa fråga: Hur kommer man åt querystring-parametrar?

Medlem sedan aug. 20039 340 inlägg
#4

Spammar på här... Vad är skillnaden på typerna text och varchar?
Edit: Frågan besvarad av MySQL-dokumentationen

Medlem sedan okt. 2001538 inlägg
#5

Lite snabbt svar på Querystring frågan:

Beroende på php-version så är det $_GET eller $HTTP_GET_VARS man använder, vilket är en array.

Har du till exempel:

http://en.adress/enSida.php?var1=Kalle&namn=Agnus
så finns informationen i:
$_GET['var1'] och $_GET['namn'] eller
$HTTP_GET_VARS['var1'] och $HTTP_GET_VARS['namn']

$_GET (lite kortare eller hur?) fungerar bara i lite nyare versioner av php, vet faktiskt inte riktigt från vilken version denna varianten började användas.

Hoppas det var ungefär vad du ville veta

MVH Patrik

Medlem sedan dec. 2003153 inlägg
#6

Patrik81 skrev:

vet faktiskt inte riktigt från vilken version denna varianten började användas.

PHP 4.1.0 har jag det för.

Medlem sedan aug. 20039 340 inlägg
#7

Ang. Querystring, det var det jag letade efter. Men det funkar inte om formen har method="post"?!?!?

Medlem sedan okt. 20023 030 inlägg
#8

Då ska du inte använda $_GET, då ska du använda $_POST. :)

Fungerar på samma sätt.

Medlem sedan aug. 20039 340 inlägg
#9

Har inte PHP4, så då blir det väl $HTTP_POST_VARS

Medlem sedan okt. 20023 030 inlägg
#10

nitro2k01 skrev:

Har inte PHP4, så då blir det väl $HTTP_POST_VARS

Japp. Men av vilken anledning använder du inte PHP4? :q

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)