sql insert error

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

sql insert error

Δημοσίευση από fafos » 30 Οκτ 2005 00:15

Auto sto eipa giati eixes dosei ksexoristh metavlhth gia na kaneis addslashes sto $_POST[desc]...
To id einai Xarakthristika=UNSIGNED kai keno=oxi ?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 00:23

keno einai

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

sql insert error

Δημοσίευση από fafos » 30 Οκτ 2005 00:27

Otan dineis auto_increment kalo einai na ta exeis etsi:
Xarakthristika=UNSIGNED kai keno=oxi
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 00:37

anyway tha to koitakso :D thanks gia thn symboulh. :D bghkame omos ligo ektos thematos, akoma den mou epekse to insert :S eleoC?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

sql insert error

Δημοσίευση από fafos » 30 Οκτ 2005 00:43

Kane to etsi:

Κώδικας: Επιλογή όλων

if($_GET[edit]==1) {
foreach($_POST as $key => $value) {
         $_POST[$key] = addslashes($value);
      }
$sql = "INSERT INTO products VALUES ('0','$_POST[title]','$_POST[desc]','$_POST[price]','$_POST[image]')";
mysql_query&#40;$sql&#41; or die&#40;"<b>Cannot query the database.</b><br>" . mysql_error&#40;&#41;&#41;;
echo "<b>Η βάση δεδομένων ανανεώθηκε με επιτυχία.</b>";
mysql_close&#40;$sql&#41;;
&#125; else &#123; 
kai eipame to id: Xarakthristika=UNSIGNED kai keno=oxi

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

sql insert error

Δημοσίευση από Rapid-eraser » 30 Οκτ 2005 00:49

Lipov panosru mias kai eisai avoiktos stis simboules 8a i8ela va sou kavw kapoia comments se sxesi me tov kodika pou grafeis pistebw 8a se bon8isouv va grafeis kalitero kodika

Arxizo apo tnv mysql kai 8a paw kai stnv php
Arxika stnv mysql iparxei notation kai kalo eivai va to xrisimopieis. 8a se bgalei apo mpelades otav ta query sou givouv arketa megala.
To :

Κώδικας: Επιλογή όλων

INSERT INTO products &#40;title, price, image&#41; VALUES &#40;'o titlos','n timi','to image'&#41;
8a graftei me notation sosto os

Κώδικας: Επιλογή όλων

INSERT INTO `products` &#40;`title`, `price`, `image`&#41; VALUES &#40;'o titlos','n timi','to image'&#41;
Bazoume backquote stous pivakes kai sta pedia, sigle quote sta strings kai ksexvame ta double quotes (osov afora to notation) ama 8eloume va eimaste SQL ansi simbatoi mesa sto sql query mas.

Episimavo oti sta named indexes twv array bazoume pavta quotes... Dev to ksexvame pote eivai simavtiko. Apofebgeis polla pragmata me afto to pragmataki pali 8a to deis ka8os 8a arxizeis va grafeis perisotera scripts.

Me sivdiasmo tou notation n function 8a erpepe va givei os eksis

Κώδικας: Επιλογή όλων

mysql_query&#40;"INSERT INTO `products` &#40;`title`, `price`, `image`&#41; VALUES &#40;'".$_POST&#91;'title'&#93;."',
'".$_POST&#91;'price'&#93;."','".$_POST&#91;'image'&#93;."'&#41;"&#41;;
Otav exoume autoincrement keli tote mporoume va to paralipsoume sto input n va dosoume NULL timi .
Aftomata 8a parei tnv epomevi timi pou exei to autoincrement level.
Edw va toviso pos oi autoincrement eggrafes pervouv aftomata diaforetiko id kai dev iparxei pi8avotita va parouv dio eggrafes to idio id akoma kai av givei taftoxrova n etisi tous pros tov server.
Av epi8imoume va dosoume sigkekrimevn timi gia opoiodipote logo tote exei voima va exei parousia sto insert allios eivai asfales va miv eivai parousa.
Sta autoincrement pedia mpevouv movo integer times. Bazoume katepilogi
unsinged mias kai arvitikous ari8mous dev mporoume va baloume se aftes tis stiles
kai ektos aftou megev8ivoume to range twv timwv pou mporei va apo8ikefsi n mysql sto tablespace tis :) (NULL timi outos n allos dev mporei va exei outos n allos giati gia va givei autoincrement prepei va eivai indexed stili opote exeis tov periorismo apo ekei)

Episis ta ovomata twv keliov eivai aparetita va mpouv se periptosi pou gia opoiodipote logo allaksoume tnv sira twv data pou 8eloume va baloume sto insert.
Dld divovtas ta ovomata apoktoume eva pleovektima stnv sira pou 8a mpouv ta data sto mero VALUES tou query.
Av paralif8ei n sira 8a epilex8ei me basi to dump kai eivai avagkastiko va mpouv me tnv sira pou exouv kataxori8ei ekei.

Eva simavtiko problima sto input stis baseis eivai to data filtering . Oxi movo gia va apofigeis sql injections
alla kai gia mporeseis evteli va kaveis insert kapoia pragmata.
To addslashes eivai mia me8odos alla gia tnv mysql idika iparxouv dio set pio eksidikebmeva
mysql_escape_string() kai mysql_real_escape_string()

Eivai ligo pio grigores kai eksidikebmeves.

Egw protimo afti pou protive o fafos bebea addslashes() kai stripslashes()

Allo eva proxiro tip eivai o elegxos oti to datatype eivai afto pou eivai expected... px av perimeveis int timi frovtize va exeis int timi px

Κώδικας: Επιλογή όλων

<?
$_POST&#91;'id'&#93; = &#40;int&#41;$_POST&#91;'id'&#93;;
?>
Yparxouv poloi tropoi gia type jungling egw protimo to typecasting.

Episis frovtize va kaveis strip_tags kai va kratas ta tags pou sou xriazovte.
Prosoxi sto htmlspecialchars giati kamia fora sou xriazete va kratas ta entities opos eivai gia va ta parousiaseis kai va mporei va ta diabasei o browser :P

o kodikas pou sou protive o fafos eivai para poli xrisimos

Κώδικας: Επιλογή όλων

foreach&#40;$_POST as $key => $value&#41; &#123;
         $_POST&#91;$key&#93; = addslashes&#40;$value&#41;;
      &#125; 
Kavei eva walk sto post array kai bazei aftomata slashes stis times :)
Bebea dev eivai recursive (dev mpevei mesa sta arrays av exeis indexed array [array in an array])
Miv ksexvas pos filtraroume opoiadipote timi erxete eksoterika sta script mas
kai pote dev empistebomaste abiasta ta inputs.
Cookies Sessions Post Get Put ... ola eivai epifoba (akoma kai av proerxovte apo database)

Egw 8a sou protiva va sxediaseis mia function gia filtering kai va tiv xrisimopieis pavtou , me tov kero 8a tnv dior8oseis kai 8a tnv kaliterepseis

Kati telefteo.
To die() va to xrisimopieis movo oso kaveis debug.

Eivai kalitero sta scripts sou va tsimpas ta error kai va ta parousiazeis kapou allou px.

Κώδικας: Επιλογή όλων

<?
mysql_query&#40;.............&#41;;
if&#40;mysql_error&#40;&#41;&#41;&#123;
// dimiourgis to error string to bazeis kai se mia metabliti isos
&#125;else&#123;
// sivexeia tou script dev iparxei la8os
&#125;

?>
Gevika apefige tis domes pou 8a stamatisouv apotoma to script sou.

Otav 8a exeis pio siv8eta layouts dev mporeis va petakseis eva die sto ksekarfoto kai va kopseis to output stnv mesi.

So mia kali me8odos eivai va xrisimpiiseis kai to mysql_error() kai to mysql_errno() gia va prosdiorizeis ta la8i pou dimiourgouvte sta queries.
Ekmetalefsou ta kai ta dio.

Kai kati telefteoooooooooooooooooooooooooo
PROS 8EOUUUUU OXI ECHO HTML !!!!

Na sou givei sivi8io apo twra :)

echo kavoume movo metablites n otav gia opiodipote logo dev 8eloume va iparxei sav html sto source tou script sou gia kapio logo.

Otav exoume va bgaloume html output akoma kai av eivai 5 lekseis
bgevoume se html kai ksavampevoume se php.

H diafora dev eivai toso 8eamatiki stnv taxitita alla 8a se bon8isei
px sto design otav exeis eva editor avoikto to php arxeio sou.
Ektos aftou dev bareveis tov parser me axrista pragmata.


Twra osov afora to problima sou kave afta pou sou eipa
logika av krivo apo to la8os malov kati dev exeis klisei kala
kapoio quote n kapia parev8esi n kati tetoio.

Eva oreo debug eivai va kaveis eva echo to sql afou mpouv oi metablites
Sto string opos to exeis twra ... apla otav dior8osoume to la8os bgazoume tis metablites
dev xriazete va barename to namesapce tsampa.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 01:05

fafos thanks man ebala ton kodika pou mou eipes kai leitourgise kanonika! :D

rapid fysika kai eimai anoiktos se symboules! pros theou 18eton eimai prin 1.5xrono anakalypsa thn php kai apo tote matheno monos gi' ayto graftika sto forum gia na matho na grafo kalhtero kodika kai na "roufikso" gnoseis kai idees! :D

rapid exeis dei to matrix fantazomai e? ores ores den tha htheles na sou pernane gnoseis sto kefali meso usb h kati tetoio? kapos etsi niotho tora! lol anypomono na matho teleia php! xD
btw poso eton eisai?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

sql insert error

Δημοσίευση από fafos » 30 Οκτ 2005 01:06

Po po! :o Xara sthn ypomonh sou re sy Rapid!

Mia allh symboulh pou exo na doso einai h ekshs..
Otan feiaxneis mia vash proionton, antikeimenon klp kalo einai na exeis alla 2 pedia me kodikous. O enas kodikos tha dinete apo input ths formas kai tha thymizei kapos to proion (p.x. vivlio0001) kai o allos tha einai automatos apo to systhma.. ego xrhsimopoio thn hmeromhnia (se UNIX morfh) kai ena tyxaio noumero opos parakato:

Κώδικας: Επιλογή όλων

		$time = time&#40;&#41;;
		$ccode = substr&#40;time&#40;&#41;.rand&#40;10000,99999&#41;,-15&#41;;
Me to ccode kalo kai to proion apo thn vash gia na emfanistei ston xrhsth (p.x. proion.php?ccode=123345567788&title=&desc=&price=)..

Autoi oi kodikoi einai poly xrhsimoi kata thn epeksergasia pou kaneis se kapoia eggrafh (diorthoseis, anevasma neon foto klp) kai vevea sthn anazhthsh enos proiontos otan einai megalh h vash...

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 01:07

a fafo ksexasa na sou po, to script douleyei alla pali troo enan error sthn mysql des:

Κώδικας: Επιλογή όλων

Η βάση δεδομένων ανανεώθηκε με επιτυχία.
Warning&#58; mysql_close&#40;&#41;&#58; supplied argument is not a valid MySQL-Link resource in C&#58;\xampp\htdocs\nextline.gr\mods\control-panel\prod.php on line 91

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 01:09

fafos έγραψε:Po po! :o Xara sthn ypomonh sou re sy Rapid!

Mia allh symboulh pou exo na doso einai h ekshs..
Otan feiaxneis mia vash proionton, antikeimenon klp kalo einai na exeis alla 2 pedia me kodikous. O enas kodikos tha dinete apo input ths formas kai tha thymizei kapos to proion (p.x. vivlio0001) kai o allos tha einai automatos apo to systhma.. ego xrhsimopoio thn hmeromhnia (se UNIX morfh) kai ena tyxaio noumero opos parakato:

Κώδικας: Επιλογή όλων

		$time = time&#40;&#41;;
		$ccode = substr&#40;time&#40;&#41;.rand&#40;10000,99999&#41;,-15&#41;;
Me to ccode kalo kai to proion apo thn vash gia na emfanistei ston xrhsth (p.x. proion.php?ccode=123345567788&title=&desc=&price=)..

Autoi oi kodikoi einai poly xrhsimoi kata thn epeksergasia pou kaneis se kapoia eggrafh (diorthoseis, anevasma neon foto klp) kai vevea sthn anazhthsh enos proiontos otan einai megalh h vash...
xm.. oraia idea! :D alla to na kaleis ton kodika h to na kaleis to id tou proiontos den einai to idio?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

sql insert error

Δημοσίευση από fafos » 30 Οκτ 2005 01:21

Sto mysql_close($sql) allakse to $sql me to onoma ths metavlhths pou exeis gia na kaleis thn vash ($kati = mysql_connect(host, user, pass); )..

Me to id tha exeis provlhma sto edit tou proiontos... kane to etsi giati sthn arxh kai ego phgaiana me to id kai dyskolevomoun stis allages kai sthn anazhthsh..

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 01:30

nai plaka sthn plaka exeis dikio kai ego brisko diskolies tora.. tha to labo ypopsin mou kai tha to allakso ;) thanks gia thn symboulh! :D (to mysql_close() se ti xrhshmeyei ekei? dld an den to grapseis pou to kako?

episeis epidi eixa idio problhma me to edit opos eixa kai me to add kai mou to elyses alla tora pou phga na kano to edit opos mou eipes na kano kai to add den mou paizei:S

Κώδικας: Επιλογή όλων

foreach&#40;$_POST as $key => $value&#41; &#123; 
         $_POST&#91;$key&#93; = addslashes&#40;$value&#41;; 
      &#125; 
$sql = "UPDATE 'products' SET title='".$_POST&#91;title&#93;."', desc='".$_POST&#91;desc&#93;."', price='".$_POST&#91;price&#93;."', image='".$_POST&#91;image&#93;."' WHERE id='".$_GET&#91;idd&#93;."'";
mysql_query&#40;$sql&#41; or die&#40;"<b>Cannot query the database.</b><br>" . mysql_error&#40;&#41;&#41;; 
an exo kanei kamia gkafa megalh einai epidi koimamai orthios lol

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

sql insert error

Δημοσίευση από Rapid-eraser » 30 Οκτ 2005 01:33

parepiptovtos o garbage collector tis php 8a klisei movos tou to conection stnv basi molis olokliro8ei to script so dev xriazete va kliveis me to xeri ta conections.
H function afti eivai xrisimi movo av n basi sou eivai remote n kaveis pollapla conections me diaforetika servers kai sou xriazete n mvimi.

Pragmatika to Matrix eivai mia apo tis tris agapimeves mou tevies. Alla opos exo pei kai alles fores dev xriazete va ta ma8eis ola mesa se eva baradi.

Opos leei mia kiveziki parimia otav o dromos eivai poli makris ksekiva tnv poria sou me mikra bimata.

Kave ktima sou afta pou ma8eveis kai meta proxora se vea pragmata... alloste exeis mia olokliri zoi gia va giveis aftos pou pragmatika 8es va giveis :)

Egw eimai gevi8is tou 1982 ... asxoloume me php giro sta 4 xrovia ... ta misa dld tis iparksis tis.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

sql insert error

Δημοσίευση από panosru » 30 Οκτ 2005 01:40

dld eisai

Κώδικας: Επιλογή όλων

<?=intval&#40;&#40;time&#40;&#41; - mktime&#40;0,0,0,12,31,1982&#41;&#41; / 31536000&#41;; ?>
eton? :P
ebala 31/12 epidi den ksero akribos thn hmerominia genhshs sou :P lol
btw an exo to sql mou etsi:

Κώδικας: Επιλογή όλων

$sql = "INSERT INTO 'products' &#40;'title','desc','price','image'&#41; VALUES &#40;'".$_POST&#91;title&#93;."','$_POST&#91;desc&#93;','".$_POST&#91;price&#93;."','".$_POST&#91;image&#93;."'&#41;"; 
xtyapei error eno an to exo etsi:

Κώδικας: Επιλογή όλων

$sql = "INSERT INTO products VALUES &#40;'0','$_POST&#91;title&#93;','$_POST&#91;desc&#93;','$_POST&#91;price&#93;','$_POST&#91;image&#93;'&#41;";
leitourgei kanonika

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

sql insert error

Δημοσίευση από Rapid-eraser » 30 Οκτ 2005 01:43

... Dev me parakolou8eis omos :)
Backquotes sta tables kai cells kai single quotes .
Backquote = ` (dipla apo to plitro 1 :P)
Singlequote = '
Dublequote = "

Prosoxi sto ti xrisimopieis pou !!!!

PS: bale 17/07/82 gia va eisai akribis stous ipologismous sou, xexe
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες