Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL-ongelma: "Out of range value..."

Akseli F [17.12.2005 15:55:11]

#

Olen saanut nyt foorumini jonkinmoiseen kuntoon ja ajattelin laittaa tietokantaan muutaman viestin testatakseni foorumin nopeuden...

kirjoitin skriptin joka for loopilla kirjoittaa tietokantaan 10000 uutta aihetta. Kumminkin aina, kun se on kirjoittanut 127 viestiä tulee virheilmoitus "Out of range value adjusted for column 'id' at row 1" .

Tässä PHP koodi:

<?php

$yhteys = mysql_connect("localhost", "******", "******") or die (mysql_error());

mysql_select_db("foorumi", $yhteys) or die(mysql_error());

for($i=0; 1 < 10000; $i++) {


$f = rand(1, 3);

$aaa = "INSERT INTO aiheet(otsikko, aika, muokattu, nimi, foorumi, id, viimeksi, nimi_id, viimeksi_id) VALUES ('joku $i', now(), now(), 'Akseli', '$f', '$i', '$nimi', '1', '1')";
$onks = mysql_query($aaa, $yhteys) or die("1: " . mysql_error());



$bbb = "INSERT INTO viestit(aika, nimi, nimi_id, viesti, id, foorumi) VALUES (now(), 'Akseli', '1', '$viesti', '$i', '$f')";
$onkd = mysql_query($bbb, $yhteys) or die("2: " . mysql_error());

}


mysql_close($yhteys);

php?>

Tyhjensin taulut ennen tallentamisen aloittamista. Missä saattaisi olla vika?

sqwiik [17.12.2005 16:26:46]

#

Onko tuo for-ehto oikein, vai onko siihen päässyt livahtamaan typo?

  for($i = 0; 1 < 1000; $i++){
  pitäisi varmaan olla?
  for($i = 0; $i < 1000; $i++){

Akseli F [17.12.2005 16:59:06]

#

Jep, siinä tosiaan oli pikku kirjoitusvirhe... mutta varsinaista ongelmaa se ei vieläkään korjannut...

Mahtaiskohan indexeillä olla jotain tekemistä tämän kanssa...?

Edit: No sainkin jo vastauksen kuhasta, kiitti kumminkin avusta

Lebe80 [18.12.2005 17:37:45]

#

Yleisen käytännön mukaan ratkaisu täytyy laittaa myös tänne foorumille, koska olet sen täällä kysynyt, eli pistäpä se vastaus esille, jos muillakin on samantapainen ongelma.

Olga [18.12.2005 17:45:56]

#

Liekkö ollut kyseessä vääräntyyppiseksi määritelty sarake, jolloin isommat luvut eivät ole mahtuneet liian pieneen kenttään.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta