---
title: "Hämta bild från mysql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql/page2"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "emton"
published: "2010-02-21T14:26:55.000Z"
updated: "2010-07-14T16:12:35.000Z"
replies: 34
views: 2731
page: 2
pages: 2
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/182515-hämta-bild-från-mysql"
---

# Hämta bild från mysql

_Sida 2 av 2._

## #21 — emton, 2010-02-23T14:07Z

Om jag tar bort följande kod   $row = mysql_fetch_assoc ($sql_result) or die ("SQL Error.");    så kommer kommer jag rätt och rätt saker kommer upp och när jag skriver in min ändring och klickar på klar så får jag upp ett meddelande att texten är ändrad men texten är fortfarande den samma så inget händer i databasen.

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

## #22 — The_Hulk, 2010-02-23T14:16Z

testa att lägga till 

```php
if (!$sql_result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}
```

mellan

```php
$sql_result = mysql_query ($sql) or die ("Query error.");

    $row = mysql_fetch_assoc ($sql_result) or die ("SQL Error.");
```

så att det blir 

```php
$sql_result = mysql_query ($sql) or die mysql_error();

echo "<br/>SQL: $sql<br/>\n";

if (!$sql_result)
{
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

    $row = mysql_fetch_assoc ($sql_result) or die mysql_error();
```

så kanske vi kan se om det blir något fel.

Som jag skrev tidigare, post gärna html-koden så att vi kan se hur den genererade koden ser ut, kanske finns något fel där?
Posta gärna om din nuvarande php-kod så vi också vet hur den ser ut nu. det är lätt hänt att man glömmer någon lite bit.

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

## #23 — emton, 2010-02-23T14:40Z

Nu äntligen händer det något!! Resultatet blev nu    SQL: SELECT \* FROM bilder WHERE id="0";

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

## #24 — The_Hulk, 2010-02-24T06:55Z

Nu använder vi inte längre POST för att skicka värdena till skriptet så du får ändra

```php
  $attEditera = intval ($_POST['bild']);
```

till antingen

```php
  $attEditera = intval ($_GET['bild']);
```

eller

```php
  $attEditera = intval ($_REQUEST['bild']);
```

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

## #25 — emton, 2010-02-24T07:10Z

Får samma svar.

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

## #26 — The_Hulk, 2010-02-24T07:50Z

Kan du visa din PHP-kod? Du kanske har missat att ändra på något ställe.
Visa även html-koden för sidan där alla bilder visas, kanske blir något fel i länken för att redigera bilden.

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

## #27 — emton, 2010-02-24T10:00Z

> **[The_Hulk skrev:](https://www.webforum.nu/p/1498726)**
>
> Kan du visa din PHP-kod? Du kanske har missat att ändra på något ställe.
> Visa även html-koden för sidan där alla bilder visas, kanske blir något fel i länken för att redigera bilden.

Kommer här, jag har bara denna kod, den ska funka för att både visa och ändra.
Är enormt tacksam för all tid du lägger ner :)

```php
<?php
function visaBilder () {
	echo "<p>Klicka på bilden för att ändra bildtexten.</p>";
	
	require_once ("databas.inc");
	
	$sql = "SELECT * FROM bilder;";
	
	$sql_result = mysql_query ($sql) or die ("Query error.");
	
	echo "<form action =\"andra.php\" method=\"post\">";
	echo "<table border=\"1\" cellpadding=\"10\">";
	echo "<tr><th>id</th><th>Beskrivning</th><th>Information</th><th>Bild</th></tr>";
	
	while ($row = mysql_fetch_assoc ($sql_result)) {
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['description'] . "</td>";
            echo "<td>" . $row['information'] . "</td>";
            echo "<td><a href='andra.php?vill_editera=1&?bild=" . $row['id'] . "'><img src='" . $row['picture'] . 	"'/></a></td>";
            echo "</tr>";
    }  

	echo "</table>";
	echo "<input type=\"hidden\" name=\"vill_editera\" value=\"1\" />";
	echo "</form>";
}
	
function editeraBild ($attEditera) {
	require_once ("databas.inc");

	$sql = "SELECT * FROM bilder WHERE id=\"" . $attEditera . "\";";

	$sql_result = mysql_query ($sql) or die (mysql_error());

echo "<br/>SQL: $sql<br/>\n";

if (!$sql_result)
{
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

    $row = mysql_fetch_assoc ($sql_result) or die (mysql_error());  

	
	echo "<form action=\"andra.php\" method=\"post\">";
	echo "<table border=\"0\" cellpadding=\"3\">";
	echo "<tr><td>Beskrivning</td> <td><input type=\"text\" name=\"description\" value=\"" . $row['description'] . "\" /></td></tr>";
	echo "</table>";
	echo "<input type=\"hidden\" name=\"bild\" value=\"" . $attEditera . "\" />";
	echo "<input type=\"hidden\" name=\"har_editerat\" value=\"1\" />";
	echo "<input type=\"submit\" value=\"KLAR\" />";
	echo "</form>";		
}
function gorEditering ($attEditera) {
	require_once ("databas.inc");

	$description			= htmlentities ($_POST['description']);
	
	$sql = "UPDATE bilder SET " .
		"description=\"" . $description . "\" WHERE id=\"" . $attEditera . "\";";
		
	$sql_result = mysql_query ($sql) or die ("Query Error.");
	echo "<p>Bildtexten har ändrats</p>";
}

require_once ("header.inc");

if ($_REQUEST['vill_editera'] == "1") {
	
	$_REQUEST['vill_editera'] = 0;

	$attEditera = intval ($_GET['bild']);
	editeraBild ($attEditera);
}
else if ($_REQUEST['har_editerat'] == "1") {
	
	$_REQUEST['har_editerat'] = 0;

	$attEditera = intval ($_GET['bild']);
	gorEditering ($attEditera);
}
else
	visaBilder ();
?>
```

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

## #28 — The_Hulk, 2010-02-24T11:26Z

Jag menade att jag ville se den genererade html-koden.
när du tittar på sidan i webbläsaren så kan du välja att visa källa.
Ändra

```php
if ($_REQUEST['vill_editera'] == "1") {
    
    $_REQUEST['vill_editera'] = 0;

    $attEditera = intval ($_GET['bild']);
    editeraBild ($attEditera);
}
```

till

```php

if ($_REQUEST['vill_editera'] == "1") {
    
    $_REQUEST['vill_editera'] = 0;

echo "<br/>_GET['bild'] = '" . $_GET['bild'] . "'<br/>";

    $attEditera = intval ($_GET['bild']);

echo "<br/>attEditera  = '" . $attEditera  . "'<br/>";

    editeraBild ($attEditera);
}
```

så kan vi se om vi har bildid där.

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

## #29 — emton, 2010-02-24T11:39Z

> **[The_Hulk skrev:](https://www.webforum.nu/p/1498752)**
>
> Jag menade att jag ville se den genererade html-koden.
> när du tittar på sidan i webbläsaren så kan du välja att visa källa.
> Ändra
>
>
> ```php
> if ($_REQUEST['vill_editera'] == "1") {
>     
>     $_REQUEST['vill_editera'] = 0;
> 
>     $attEditera = intval ($_GET['bild']);
>     editeraBild ($attEditera);
> }
> ```
>
> 
> 
> till
>
>
> ```php
> 
> if ($_REQUEST['vill_editera'] == "1") {
>     
>     $_REQUEST['vill_editera'] = 0;
> 
> echo "<br/>_GET['bild'] = '" . $_GET['bild'] . "'<br/>";
> 
>     $attEditera = intval ($_GET['bild']);
> 
> echo "<br/>attEditera  = '" . $attEditera  . "'<br/>";
> 
>     editeraBild ($attEditera);
> }
> ```
>
> 
> så kan vi se om vi har bildid där.

Här är htmlkoden för bildsidan

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css">
 
<title>Untitled Document</title>
<style type="text/css"> 
<!--
.style1 {
	color: #009900;
	font-weight: bold;
	font-size: 36px;
}
-->
</style>
</head>
 
<body>
<div id="layout">
<div id="top">
</div><!--top-->
<div id="meny">
<ul>
		<li><a href="index.php">Start</a></li>
		<li><a href="loggain.php">Logga in</a></li>
		<li><a href="register.php">Ny användare</a></li>
        <li><a href="visa.php">Visa användare</a></li>
        <li><a href="visa_pictures.php">Visa bilder</a></li>
        <li><a href="andra.php">Ändra bildtext</a></li>
	</ul>
</div><!--meny-->
<div id="main">
</div><!--main-->
</div><!--layout-->
 
</body>
</html>
<p>Klicka p bilden fr att ndra bildtexten.</p><form action ="andra.php" method="post"><table border="1" cellpadding="10"><tr><th>id</th><th>Beskrivning</th><th>Information</th><th>Bild</th></tr><tr><td>1</td><td>Funny och Caramell vintern 2003</td><td>25kb, 20031126</td><td><a href='andra.php?vill_editera=1&?bild=1'><img src='http://tor.ei.hv.se/~webbVT10051/Inlamning_1/Bilder/FunnyCaramell.jpg'/></a></td></tr><tr><td>2</td><td>Charlie som liten</td><td>blabal</td><td><a href='andra.php?vill_editera=1&?bild=2'><img src='http://tor.ei.hv.se/~webbVT10051/Inlamning_1/Bilder/charlie.JPG'/></a></td></tr><tr><td>3</td><td>Lovisa och Lovis, mor och dotter. Den vnstra bilden r tagen av Thomas Olsson.</td><td>den 24 augusti 2005, 09:17:40</td><td><a href='andra.php?vill_editera=1&?bild=3'><img src='http://tor.ei.hv.se/~webbVT10051/Inlamning_1/Bilder/Lovis_Lovisa.jpg'/></a></td></tr><tr><td>4</td><td>Lovis och Lovisa igen. Hr r Lovis ca 1mnad</td><td>maj 2005</td><td><a href='andra.php?vill_editera=1&?bild=4'><img src='http://tor.ei.hv.se/~webbVT10051/Inlamning_1/Bilder/lovisa_lovis.jpg'/></a></td></tr></table><input type="hidden" name="vill_editera" value="1" /></form>
```

Och här koden för ändrasidan efter att jag ändrat ditt ovanstående förslag. 

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" type="text/css">
 
<title>Untitled Document</title>
<style type="text/css"> 
<!--
.style1 {
	color: #009900;
	font-weight: bold;
	font-size: 36px;
}
-->
</style>
</head>
 
<body>
<div id="layout">
<div id="top">
</div><!--top-->
<div id="meny">
<ul>
		<li><a href="index.php">Start</a></li>
		<li><a href="loggain.php">Logga in</a></li>
		<li><a href="register.php">Ny användare</a></li>
        <li><a href="visa.php">Visa användare</a></li>
        <li><a href="visa_pictures.php">Visa bilder</a></li>
        <li><a href="andra.php">Ändra bildtext</a></li>
	</ul>
</div><!--meny-->
<div id="main">
</div><!--main-->
</div><!--layout-->
 
</body>
</html>
<br/>_GET['bild'] = ''<br/><br/>attEditera  = '0'<br/><br/>SQL: SELECT * FROM bilder WHERE id="0";<br/>
```

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

## #30 — The_Hulk, 2010-02-24T11:59Z

det hade smugit in ett frågetecken mellan & och bildid

Här är koden utan det felaktiga frågetecknet

```php
   while ($row = mysql_fetch_assoc ($sql_result)) {
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['description'] . "</td>";
            echo "<td>" . $row['information'] . "</td>";
            echo "<td><a href='andra.php?vill_editera=1&bild=" . $row['id'] . "'><img src='" . $row['picture'] . "'/></a></td>";
            echo "</tr>";
    }
```

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

## #31 — emton, 2010-02-24T12:24Z

Nu äntligen går det framåt igen. Jag kommer till rätt sida och rutan med bildtext kommer upp även med rätt bildtext i. Rätt id och allt. MEN när jag ändrat texten och trycker på klar så står det att texten är ändrad men den är inte det.

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

## #32 — The_Hulk, 2010-02-24T12:28Z

Det beror på att du även ändrade 

```php
else if ($_REQUEST['har_editerat'] == "1") {
    
    $_REQUEST['har_editerat'] = 0;

    $attEditera = intval ($_GET['bild']);
    gorEditering ($attEditera);
}
```

från $\_POST till $\_GET
när du postar ditt formulär så görs det via POST.
så på detta stället ska du ha kvar

```php
else if ($_REQUEST['har_editerat'] == "1") {
    
    $_REQUEST['har_editerat'] = 0;

    $attEditera = intval ($_POST['bild']);
    gorEditering ($attEditera);
}
```

Vill du göra det enklare för dig själv så ändra alla $\_POST resp $\_GET till $\_REQUEST
Jag vet inte om det är bra eller dåligt ut säkerhetsperspektiv men det borde lösa lite problem.

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

## #33 — emton, 2010-02-24T12:32Z

Det funkar!!!!!!
Tack snälla för all tid du har lagt ner!! Jag är jättetacksam. Hoppas att det inte ska behöva bli mer saker nu. Kommer kanske få problem med krypteringen, får se hur det går.
Tack än en gång!

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

## #34 — The_Hulk, 2010-02-25T07:18Z

Varsågod, eftersom det här problemet har löst sig så får du gärna markera tråden som löst.

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

## #35 — webb, 2010-07-14T16:12Z

Form - Skicka ett formulär utan att sidan uppdateras

Förfrågan har omplacerats till html inlägg!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql/page2  
Föregående sida: https://www.webforum.nu/amne/php/182515-hämta-bild-från-mysql.md
