(Ben url_name, anchor_text ve açıklama olduğunu varsayıyorum) Eğer eklediğiniz varchar
alanları etrafında tek tırnak gerekir. Eğer şu anda sahip tek tırnak sadece bu değerleri bir dize yapmak ancak Oracle, varchar alanlar çevrelerindeki tek tırnak olması gerekir. Bu deneyin:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) VALUES( 9,'".'{$url_name}'."','".'{$anchor_text}'."','".'{$description}'."')";
Bunu test etmek için bir yerde PHP zorunda değilsiniz, ama bu değerler etrafında tek tırnak oluşturmanız gerekir.
Sonunda veritabanında yürütme olacak gerçekten sql bu gibi görünecektir, çünkü:
insert into URL
(
Url_ID,
Url_Name,
Anchor_Text,
Description
)
VALUES
(
9,
'My Name',
'My Text',
'My Description'
)
Ana makale Binding Variables in Oracle and PHP Burada aşağı görünüyor ama Google Cache Version o PHP değişkenleri nasıl bağlanacağı hakkında ayrıntılı gider. Kesinlikle) 1 için bu yapıyor SQL enjeksiyon performansı ve 2) güvenlik istiyorum.
Ayrıca, benim PHP biraz paslı ama sen de böyle orijinal sorgu deyimi yapabileceği gibi görünüyor:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) values ( 9, '$url_name', '$anchor_text', '$description')";
Edit
Also, you need to escape any single quotes that may be present in the data you receive from your form variables. In an Oracle sql string you need to convert single quotes to 2 single quotes to escape them. See the section here titled "How can I insert strings containing quotes?"