Jump to content
php.lv forumi

UPDATE SET


Lord

Recommended Posts

Sveiki.

Veidoju skriptu, kas pēc raksta atvēršanas pieskaita 1 pie skatījumu reizēm datu bāzē.

    $arid=$_GET['article'];
   mysql_query("UPDATE articles SET read = read+1 WHERE id = \"$arid\"") or die(mysql_error());   

Taču man tiek izmests "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read = read+1 WHERE id = "2"' at line .."

"read" ir int(11) ar noklusētu vērtību 0.

Kur varētu būt kļūda?

Esmu nomēģinājies visādi. Piemēram, nestrādā arī tad, ja SET read = \"4\", izmet to pašu error.

Link to comment
Share on other sites

Cerams tas bija tikai piemērs un kodā tiešām nav GET manīgais pa taisno SQL kverijā?

 

Ja tas id ir skaitlis, tad tipecasto viņu uz int

 

    $arid = (int)$_GET['article'];

 

Ja strings, tad eskeipo ar

    $arid = mysql_real_escape_string($_GET['article']);

 

Citādi kāds garlaikots āksts var izdomāt piemēram nodzēst tavu datubāzi.

Link to comment
Share on other sites

Radās doma ka varētu ar viltīgiem subselektiem dabūt jebkuras tabulas jebkura ieraksta vērtību. Laiks gan pamatīgi jāpatērē. Nezinu vai reāli strādās, vajadzēs kādreiz pamēģināt.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...