---
title: "Hämta endast en rad ur databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/143735-hämta-endast-en-rad-ur-databas"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "nitro2k01"
published: "2006-03-10T13:46:02.000Z"
updated: "2006-04-03T19:37:05.000Z"
replies: 9
views: 667
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/143735-hämta-endast-en-rad-ur-databas"
---

# Hämta endast en rad ur databas

## #1 — nitro2k01, 2006-03-10T13:46Z

Jag har tidigare sett en PHP-funktion för att enbart hämta en rad (Av säkerhetsskäl) ur en MySQL-databas. Vad heter den funktionen?

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

## #2 — @nders, 2006-03-10T13:48Z

Är det inte LIMIT i SQL-frågan du tänker på?

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

## #3 — nitro2k01, 2006-03-10T13:54Z

Nej, utan ett alternativ till mysql_query som jag minns det, som inte tillåter modifiering, utan bara returnerar exakt en rad. Detta skulle då vara ett superskydd mot SQL-injektioner. 
Jag är väl medveten om andra metoder för att förhindra detta, men jag vill ändå gärna få reda på denna funktion.

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

## #4 — flexish, 2006-03-10T15:03Z

Är det mysql_result() du syftar på?

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

## #5 — nitro2k01, 2006-03-10T15:20Z

Nej, denna metod ger ju inte något som helst skydd mot injektioner. (Eftersom den utförs efter mysql_query) Eller så kommer jag helt enkelt ihåg fel?

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

## #6 — henke, 2006-03-10T15:23Z

> **flexish skrev:**
>
> Är det mysql_result() du syftar på?

Det är väl lite svårt att använda den funktionen om man inte redan har ställt en databasfråga. ;) Ur php-manualen för mysql_result():

```php
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
    die('Could not query:' . mysql_error());
}
echo mysql_result($result, 2); // outputs third employee's name

mysql_close($link);
?>
```

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

## #7 — flexish, 2006-03-10T19:06Z

Såg inte att det stod "ett alternativ till mysql_query" ;)

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

## #8 — Peeer, 2006-03-11T10:14Z

Jag har aldrig hört talas om någon sådan inbyggd funktion. Däremot så brukar det finnas i  diverse script. Bl.a. har vBulletin en funktion som de kallar för query_first() som är en kombination av mysql_query och mysql_fetch_array. Det är inget sådant du har sett?

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

## #9 — aasah, 2006-03-11T13:30Z

I mitt inloggningsskript kollar jag att jag hittar bara en användare (där relevant) mha 

```php
if (mysql_num_rows($res) == 1) {
  //do_whatever();
}
else exit(); //Eller någon annan felhantering
```

Om det här gäller uppdatering/delete borde du väl kunna lösa det genom  att först göra en SELECT med de WHERE-värden du vill använda, och om den bara returnerar 1 rad, så kör du updaten? Alltså något i stil med:

```php
$sqlTst = "SELECT * FROM Tabell WHERE ".$_POST["where"];
$resTst = mysql_query($sqlTst) or die();
if (mysql_num_rows($resTst) == 1) {
  $sql = "< update/delete med WHERE $_POST['where'] >";
  $resTst = mysql_query($sql) or die(); // Gäller bara en rad
}
else exit(); //Eller någon annan felhantering
```

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

## #10 — prey, 2006-04-03T19:37Z

Jag har inte testat det själv, men STORED PROCEDURES kanske kan vara ett alternativ?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/143735-hämta-endast-en-rad-ur-databas
