takarak kayıt mysql

2 Cevap php

Ben aşağıda gösterildiği gibi bir tabloya bir kayıt eklemek bir yöntemi var:

public static function AddCategory($categoryName)
    {
        $sql = 'INSERT INTO category(name) 
                VALUES(' . $category_name .')';
        $parameters = array('category_name' => $categoryName);
        return DB::Execute($sql,$parameters);   
    }

Can anyone tell me if the SQL syntax is correct? Im not being able to insert any record..I can't find my mistake. Thanks

2 Cevap

Benim kısa gözlemden bu hattı gereksiz:

 $parameters = array('category_name' => $categoryName);

Zaten sorguda kendisini içine sokulan değer belirttiniz. Şimdi bunu çalıştırmak için yeterlidir.

Ben tam olarak ne yapmak istediğinizi anlamıyorum, geçerli bir SQL INSERT sözdizim olduğunu:

(... Değer1, değer2) tablo1 VALUES INSERT INTO

bu yüzden kod gibi bir şey içine değiştirilmelidir varsayalım:

public static function AddCategory($categoryName) 
    { 
        //I don't know the real name of the TABLE you want to update, so you have to replace CATEGORIES_TABLE with your table name 
        $sql = 'INSERT INTO CATEGORIES_TABLE VALUES(' . $categoryName .')'; 
        return DB::Execute($sql);    
    } 

Ben ne DB :: Execute, ben bir sorgu yürütür varsayalım yok bilmiyorum.

Bilginize Bu test etmek için iyi bir yoldur sorgu exectuing önce aşağıdaki satırı eklemek için:

echo "<br>" . $sql . "</br>";

Sonra PHP tarafından basılan sonuç almak ve MySQL sorgu tarayıcıda çalıştırmak, bu sorgu neden başarısız hakkında daha doğru bilgi söyleyecektir.