---
title: "mysgl_fetch_array() vs vanliga arrays"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/107745-mysgl-fetch-array-vs-vanliga-arrays"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Duffer"
published: "2004-07-21T08:24:37.000Z"
updated: "2004-07-21T10:44:59.000Z"
replies: 3
views: 242
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/107745-mysgl-fetch-array-vs-vanliga-arrays"
---

# mysgl_fetch_array() vs vanliga arrays

## #1 — Duffer, 2004-07-21T08:24Z

Just nu känner jag mig så dum, jag kan inte äns komma på hur jag stoppar in ett mysql resultat i en vanlig array.

Fungerar mysql_fetch_array() som om det vore en vanlig array()?

har denna koden men får den inte att fungera :(

```php
<?php
include("data.php");
/// Connect
mysql_connect($host,$id,$kod);
mysql_select_db($databas);

$rand_values = mysql_query("SELECT idbilder FROM bildarkiv") or exit(mysql_error());

srand((float) microtime() * 10000000);
$input = mysql_fetch_array($rand_values);
$rand_keys = array_rand($input, 3); /// Line 11
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
echo $input[$rand_keys[2]] . "\n";
?>
```

 

Får detta felmeddelande:

Warning: Second argument to array_rand() has to be between 1 and the number of elements in the array in /test26.php on line 11

Känns lite som jag är helt ute och cyklar nu  :r

(Har jag gjort något rätt? är det så här man ska göra ifall man vill plocka ut en random värde ur en array som har generats från en mysql databas? Andra förslag på hur jag kan göra?)

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

## #2 — Duffer, 2004-07-21T09:01Z

Testade lite mer, om jag tog SELECT \* istället för SELECT idbilder försvan felmeddelandet och den visade 3st (random) värden från samma rad.

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

## #3 — Matte, 2004-07-21T10:19Z

Testa det här:

```php
$rand_values = mysql_query("SELECT idbilder FROM bildarkiv") or exit(mysql_error());

// Initiera tom array
$input = array();

// Loopa resultatet i SQL-körningen, och lägg i array
while ($row = mysql_fetch_assoc($rand_values)) {
   $input[] = $row['idbilder'];
}

// Kolla att ditt slumpade antal inte är större än arrayens storlek
$rand_count = 3;
$rand_count = $rand_count > count($input) ? count($input) : $rand_count;

// Slumpa
srand((float) microtime() * 10000000);
$rand_keys = array_rand($input, $rand_count);

// Loopa resultatet
foreach ($rand_keys as $index) {
   echo $input[$index] . "\n";
}
```

 
Det kan eventuellt bli konstigheter om arrayen du slumpar från endast innehåller ett eller noll element.

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

## #4 — Duffer, 2004-07-21T10:44Z

Tro mig, funktion är vackert =D

Ett stort tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/107745-mysgl-fetch-array-vs-vanliga-arrays
