SQL UPDATE sorgusunda hata

3 Cevap php
$result = mysql_query("UPDATE categories
        SET cd_title='$docuTitle' , cd_link='$linkTitle'
        WHERE c_name='$catID'");

Ne bu güncelleştirme sorgusu ile yanlış?

3 Cevap

Lütfen değişkenlerde veri ile yanlış bir şey muhtemelen vardır - ama biz ne içerdikleri göremiyorum.

Eğer veri olabilir pisliği deyimi herhangi bir tek karakter ile anlaşma olur, hangi parametreli sorgular kullanarak olmalıdır.

Bkz http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php ve http://stackoverflow.com/questions/723945/when-are-the-most-recommended-times-to-use-mysqlrealescapestring

Ben girişi kesme işareti varsa hataları önlemek için, bu sorguyu değiştirmek istiyorsunuz:

$result = mysql_query(
    "UPDATE categories SET
         cd_title='" . mysql_real_escape_string($docuTitle) . "',
         cd_link='" . mysql_real_escape_string($linkTitle) . "'
     WHERE
         c_name='" . mysql_real_escape_string($catID) . "'");

Veri dezenfekte ise, php değişkenler etrafında tek tırnak kaldırın.