---
title: "Lätta frågor för den kunnige :o)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16330-lätta-frågor-för-den-kunnige-o"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "streetrobban"
published: "2001-11-17T02:08:00.000Z"
updated: "2001-11-18T22:28:00.000Z"
replies: 11
views: 274
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/16330-lätta-frågor-för-den-kunnige-o"
---

# Lätta frågor för den kunnige :o)

## #1 — streetrobban, 2001-11-17T02:08Z

Tjenare, jag är väldigt ny på det här med PHP och MySQL etc. Läget är detta;
Jag har skapat en ny databas i WinMySQLadmin 1.3, gjort en tabell i den som heter tabell1 (fantasifullt). Sedan har jag lagt till poster i databasen med följande kod (add2.php);

```
<?php
// Öppna databasen
$open = mysql_connect("localhost","","") or die ("Could not connect");

// Lägg till informationen
$dbinfo = mysql_db_query("test", "INSERT tabell1 (namn, text) VALUES ('$namn' & '$text')");

// Stäng databasen
mysql_close($open);
?>
```

Sidan för att mata in informationen (formulär sidan) ser ut så här (men det spelar väl ingen roll hur den ser ut) (add.php);

```
<form method="post" action="add2.php">

Namn<br>
<input type="text" name="namn"><br><br>

Text<br>
<input type="text" name="text"><br><br>

<input type="submit" value=" SKICKA ">

</form>
```

Slutligen ser koden för att hämta och visa informationen ut så här (view.php);

```
<?php
// Öppna databasen
$open = mysql_connect("localhost","","") or die ("Could not connect");
echo("Connected successfully");

echo("<br>");

// Hitta rätt tabell
mysql_select_db ("test") or die ("Could not select database");
echo("Database found");

// Välj vad som ska visas
$resultat = mysql_query ("SELECT namn FROM tabell1");

// Skriv ut det på sidan
echo("<br>");
echo("$resultat");

// Stäng databasen
mysql_close($open);
?>
```

Men när jag kör view.php så skrivs det bara ut följande;

```
Connected successfully
Database found
Resource id #2
```

Jag har en till fråga. I WinMySQLadmin 1.3 kan jag ju se vilka databaser jag har. Men kan jag se om informationen ligger där? Som i Access? 

Hoppas ni orkar hjälpa mig.

\[Redigerat av streetrobban den 17 nov 2001\]

Permalänk: https://www.webforum.nu/p/16330

## #2 — spango, 2001-11-17T02:38Z

```
// Skriv ut det på sidan
echo("<br>");
echo("$resultat");
```

$resultat är bara en identifierare till resultatet från en MySQL-query, inte själva resultatet. Du skulle få göra något sådant här, typ:

```
// Skriv ut det på sidan
echo '<br>';
$line = mysql_fetch_array($result); // hämta första raden
if (!$line){
&nbsp;&nbsp;&nbsp;&nbsp;echo 'Inga rader returnerades!';
} else {
&nbsp;&nbsp;&nbsp;&nbsp;echo '<table border="1">';
&nbsp;&nbsp;&nbsp;&nbsp;$fields = array_fields($line);
&nbsp;&nbsp;&nbsp;&nbsp;echo '<tr>';
&nbsp;&nbsp;&nbsp;&nbsp;foreach($fields as $field)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo '<th>', $field, '</th>';
&nbsp;&nbsp;&nbsp;&nbsp;echo '</tr>', chr(10);
&nbsp;&nbsp;&nbsp;&nbsp;do{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo '<tr>';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($fields as $field)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo '<td>', $line[$field], '</td>';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo '</tr>', chr(10);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$line = mysql_fetch_array($result);
&nbsp;&nbsp;&nbsp;&nbsp;} while ($line);
&nbsp;&nbsp;&nbsp;&nbsp;echo '</table>';
}
```

Permalänk: https://www.webforum.nu/p/324888

## #3 — spango, 2001-11-17T02:42Z

Dessutom borde inte detta funka:

```
// Lägg till informationen
$dbinfo = mysql_db_query("test", "INSERT tabell1 (namn, text) VALUES ('$namn' & '$text')");
```

Det blåmarkerade &-tecknet borde ställa till problem, byt ut det mot ett kommatecken.

Permalänk: https://www.webforum.nu/p/324889

## #4 — streetrobban, 2001-11-18T18:11Z

Jag ändrade till den koden du föreslog spango. men jag får bara följande fel.

```
Warning: Supplied argument is not a valid MySQL result resource in c:\program\apache group\apache\htdocs\view.php on line 17
Inga rader returnerades!
```

Line 17 ser för mig ut så här:

```
$line = mysql_fetch_array($result); // hämta första raden
```

Permalänk: https://www.webforum.nu/p/324890

## #5 — LarsG, 2001-11-18T18:41Z

Är det det här som du gör innan?

```
$resultat = mysql_query ("SELECT namn FROM tabell1");
```

i så fall så skall din rad 17 se ut så här

```
$line = mysql_fetch_array($resultat); // hämta första raden
```

Du måste ha samma namn vid dessa anrop.

Permalänk: https://www.webforum.nu/p/324891

## #6 — streetrobban, 2001-11-18T19:02Z

Så här ser koden ut för hela sidan view.php

```
<?php
// Öppna databasen
$open = mysql_connect("localhost","","") or die ("Could not connect");
echo("Connected successfully");

echo("<br>");

// Hitta rätt tabell
mysql_select_db ("test") or die ("Could not select database");
echo("Database found");

// Välj vad som ska visas
$hamta = mysql_query ("SELECT namn, text FROM tabell1");

// Skriv ut det på sidan
while($info = mysql_fetch_array($hamta))

{

$namn=$info["namn"];
$text=$info["text"];

echo("<br><br>");
$i = 1;
while ($i <= 10) {
echo("$i $namn - $text<br>");
$i++;
} 

echo("<br><br>");
echo "$namn - $text";
echo("<br>");

}

// Stäng databasen
mysql_close($open);
?>
```

Permalänk: https://www.webforum.nu/p/324892

## #7 — LarsG, 2001-11-18T19:09Z

Om du lägger till lite felhantering så kanske du får fram någon ledtråd

```
$hamta = mysql_query ("SELECT namn, text FROM tabell1") or die mysql_error());
```

Permalänk: https://www.webforum.nu/p/324893

## #8 — streetrobban, 2001-11-18T19:32Z

Ok LarsG, det hjälpte lite grann. Om jag använder mig av:

```
$hamta = mysql_query("SELECT text FROM tabell1") or die ("Fel i SELECT");
```

Så funkar det inte. Men om jag däremot använder mig av:

```
$hamta = mysql_query("SELECT namn FROM tabell1") or die ("Fel i SELECT");
```

Så skriver den ut ett namn. Kan man inte använda "text" eller? Är namnet upptaget?

Jag skulle gärna testa att byta namn på "text" i "tabell1" men jag vet inte hur man gör :) Någon som vet en bra sida där man kan läsa hur man göra för att ändra i MySQL databaser?

Permalänk: https://www.webforum.nu/p/324894

## #9 — SPiN, 2001-11-18T19:52Z

text är ett reserverat ord i SQL. Använd klamrar för att råda bot på det :)

```
SELECT [text] FROM tabell1
```

Permalänk: https://www.webforum.nu/p/324895

## #10 — LarsG, 2001-11-18T20:05Z

Mysql använder \` för ange en delimited identifier

```
SELECT * from `select` where `select`.id > 100;
```

Om man kör mysql i ANSI-mod så kan man använda " (enligt standard)

```
SELECT * from "select" where "select".id > 100;
```

Det kanske är enklast att bytta namn på kolumnen

OT:
\[\] för att ange namn är specifikt för Access mfl.

OT:
Text är inte reserverat i standard sql utan det är ett påhitt av Mysql (plus några till)

Permalänk: https://www.webforum.nu/p/324896

## #11 — SPiN, 2001-11-18T22:12Z

Aha, så \[\] används bara i Access? Skulle gissa för SQL Server då också?

Man lär sig nåt nytt varje dag, och ofta av LarsG! :D

Permalänk: https://www.webforum.nu/p/324897

## #12 — LarsG, 2001-11-18T22:28Z

Jo Access/Sybase och SQL server tillåter syntaxen med \[\] för att quota identierare.

I SQL server 2000 så har dom ändrat så att " används defaultmässigt för att quota identifierare och inte som strängavgränsare.

**streetrobban**

Du får bättre felmeddelanden om du anropar funktionen mysql_error istf att skriva ut en egen text

```
$resultat = mysql_query("select * from t) or die(mysql_error());
```

Permalänk: https://www.webforum.nu/p/324898

---

Tråden på webben: https://www.webforum.nu/amne/php/16330-lätta-frågor-för-den-kunnige-o
