You need single quotes around the varchar fields you insert (I suppose these are url_name, anchor_text and description). The only quote you are currently using only makes these values โโa string, but in Oracle, the varchar fields must have single quotes around them. Try the following:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) VALUES( 9,'".'{$url_name}'."','".'{$anchor_text}'."','".'{$description}'."')";
I don't have PHP to test, but this should create single quotes around your values.
Since indeed the sql that you end up running in the database would look like this:
insert into URL ( Url_ID, Url_Name, Anchor_Text, Description ) VALUES ( 9, 'My Name', 'My Text', 'My Description' )
Main article Binding variables in Oracle and PHP are apparently omitted, but here's the Google Cache Version , which details how to bind variables in PHP. You definitely want to do this for 1) performance and 2) security against SQL injection.
Also, my PHP is a little rusty, but it looks like you can also make your original request as follows:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) values ( 9, '$url_name', '$anchor_text', '$description')";
Edit
In addition, you need to avoid any single quotes that may be present in the data that you receive from your form variables. In an Oracle string chain, you need to convert single quotes to 2 single quotes to avoid them. See the section here under the heading "How do I insert lines containing quotation marks?"