Bu sorgu bir hata alıyorum

3 Cevap php
function saveFile($catId,$docuTitle,$linkTitle) {

 $result = mysql_query("INSERT INTO categories (cd_title, cd_link)
                       VALUES ('$docuTitle','$linkTitle') WHERE c_name = '$catID'");    

    		return 'yes';

    	}

Ben cd başlık ve seçilmiş catergory dayalı cd bağlantıları eklemek istiyorum.

3 Cevap

Edit: Scott Saunders is right, you can't have a WHERE statement in an INSERT query.

Original answer: You should give more info about the error, but you probably have a simple quote (') in on of the variables $docuTitle or $linkTitle, resulting in a malformed query.

Siz istekleri onları kullanmadan önce () mysql_real_escape_string ile, bu değişkenleri, hem de $ catid kaçmak gerekir, yoksa app SQL Injection karşı savunmasız olacaktır.

Sen PDO, SQL sorguları hatalar bu tür önlemek için harika bir araçtır hakkında bazı dokümanlar okumalısınız, ve evolutivity ve bakımı için bir çok yardımcı olur.

Muhtemelen istiyorum:

INSERT INTO categories (cd_title, cd_link, c_name) VALUES ('$docuTitle','$linkTitle', '$catID')

Eğer varolan satırları güncelliyoruz sürece, o 'UPDATE' için 'INSERT INTO' değişecek

Eğer bir INSERT deyimi ve bir UPDATE deyimi birleştirerek vardır.

Sen doğru sözdizimi seçmeniz gerekir:

INSERT INTO [TABLE] [COLUMNS] VALUES [VALUES]

UPDATE [TABLE] SET [COLUMNS] = [VALUE] WHERE [where clause]