Array in een database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels Peeren

Niels Peeren

16/09/2012 01:33:32
Quote Anchor link
Beste lezers

Ik probeer een array te maken met een aantal randoms. de bedoeling is dat er tussen de 30 en de 40 getallen (1e random) worder gegenereerd tussen de 0 en de 400 (2e random) dan moeten deze vervolgens in de database worden gestored als een array.

heeft iemand hiervoor een werkende oplossing? met omschrijving hoe het werkt en waarom. ben momenteel al een hele dag bezig met proberen zonder enig succes.

Toevoeging op 16/09/2012 01:43:01:

dit is het verste wat ik ben gekomen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$Positions = 400;
$Block = rand (30,40);
$Username = $_POST['Username'];
$Resources="12";
$tbl_name2 = "planets";

$Blocks="";

for ($a = 0; $a < $Block; $a++){
    $Blocked = rand (0,400);

  $Blocks['$a']=$Blocked ;
    
    
$indb=mysql_query("INSERT INTO $tbl_name2 (Username,Blocks,Resources) VALUES ('$Username','$Blocks','$Resources')") or die(mysql_error());


//header("location: ../index.php");
$getit=mysql_query("select * from planets where Username='$Username' ");
$datas=@mysql_fetch_array($getit);
$aray=$datas[1];

    echo $aray;
    
}
 
PHP hulp

PHP hulp

23/12/2024 00:32:54
 
Wouter J

Wouter J

16/09/2012 08:53:40
Quote Anchor link
Jou code is slecht:
- variabele buiten quotes, zie ook operators.string
- or die is geen foutafhandeling, handel af met if statements zoals hier wordt gedaan
- onderdruk geen fouten (@)
- kopieer niet onnodig variabele, regel 3
- spring overal hetzelfde in, zo krijg je wat overzicht in je script
- je script is lek voor SQL injection, gebruik mysql_real_escape_string om dit te voorkomen
- cijfers zijn geen strings en horen dus niet binnen quotes
- $Blocks = ""; en vervolgens die string als array gebruiken? Dan moet je hem ook instantiëren als array...


En vervolgens: Een array hoor je niet in de database op te slaan. 1 rij stelt 1 data voor en niet een array van data. Daarom zul je ook de array door moeten lopen en voor elk item het opslaan in de database.

Dit is handig om het in 1 query te doen, werkt wat sneller, of met prepared statements, als je dat gebruikt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.