Kezdőoldal » Számítástechnika » Weblapkészítés » Integer átadása html-ből...

Integer átadása html-ből mysql miért nem megy?

Figyelt kérdés

mysql egyik oszlopa INT típusú, ide vinnék föl adatot ,amit a user egy html form-on ad meg. Viszont form-on nem tudom, hogyan lehetne int-et beolvastatni.

Hiába írok be pl 28-at ide : <input type="text" name="pfr" /> textként értelmezi és nem teszi be db-be.


Viszont type-nak nem lehet int-et megadni.


Mi a teenedő?


(fontos , hogy int tipus megmaradjon mert később műveleteket végeznék vele)



2012. ápr. 18. 02:24
1 2
 1/11 anonim ***** válasza:

Dobj kódot, hogyan küldöd és veszed át az adatokat, és utána, hogyan teszed azt be az adatbázisodba!

A PHP gyengén típusos nyelv, ezért a változó típusának nem kell problémát okoznia. Az a lényeg, amit adatbázisba küldesz, az csak szám karaktereket tartalmazzon.

Kapsz vmi hibaüzenetet?

2012. ápr. 18. 08:18
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

Az lenne a tippem,hogy valahol hozzáadódott egy karakter esetleg plusz idézőjel,ami miatt nem konvertálódik automatikusan számmá.

var_dump-al írasd ki a változó tartalmát

2012. ápr. 18. 08:24
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:

"..., name = " . (int) $_POST['pfr'] . ", ..."

esetleg

"..., name = '" . (int) $_POST['pfr'] . "', ..."

2012. ápr. 18. 09:13
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:

itt a kód ( a nem érintett kód sorokat kihagytam) :


html:

<form action="felvisz.php" method="post">

pfr: <input type="text" name="pfr" />

<input type="submit" name="felvisz" value="hozzáad" />

</form>



felvisz.php:

<?php


$pfr=$_POST['pfr'];


if (!get_magic_quotes_gpc()){

$pfr = addslashes($pfr);

}


@ $sql = mysql_connect("hostname", "user", "password");

mysql_select_db("db_name", $sql);


$lekerdezes = "INSERT INTO players VALUES ($pfr )";

$talalat = mysql_query($lekerdezes, $sql );


if ($talalat) { echo 'adatai hozzá lettek adva' ;} else {echo 'Nem sikerült';}


mysql_close($sql);


?>



Ha viszont a $pfr-t nem az integer oszlopba hanem egy char tipusú oszlopba szúrnám be úgy gond nélkül megy.


Montihun: próbáltam (int)$_POST módszerrel , de így se sikerült.

2012. ápr. 18. 15:14
 5/11 anonim ***** válasza:

Próbáld meg az intval() vagy a floatval() függvénnyel.

[link]

[link]


intval($_POST['pfr'])

vagy

floatval($_POST['pfr'])

2012. ápr. 18. 23:26
Hasznos számodra ez a válasz?
 6/11 A kérdező kommentje:
semmi.. nem viszi be
2012. ápr. 19. 04:36
 7/11 anonim ***** válasza:

ezzel esetleg?


$lekerdezes = "INSERT INTO players VALUES ('".$pfr."')";

2012. ápr. 19. 07:58
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
Hahó, rossz a query! Ez csak abban az esetben működik, ha csak az az egy oszlop van a táblában. Add meg az oszlop nevét is!
2012. ápr. 19. 08:21
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

Szvsz ez lehet a hiba:

!get_magic_quotes_gpc()



magic_quotes_gpc()

kikapcsolva értéke: 0;

bekapcsolva: 1;

A feltételed így soha nem teljesül.


Feltételnek akár így megadhatod:

magic_quotes_gpc()==0;

magic_quotes_gpc()==1;

vagy ezek negálása

2012. ápr. 19. 08:24
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:
#8 az igaz:)
2012. ápr. 19. 08:31
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!