Necesitas comillas simples alrededor de las varchar
campos que se está insertando (que supongo que son URL_NAME, anchor_text y descripción). La cita simple que tiene actualmente solo hace que esos valores sean una Cadena pero en Oracle, los campos varchar deben tener comillas simples alrededor de ellos. Intente esto:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) VALUES(9,'".'{$url_name}'."','".'{$anchor_text}'."','".'{$description}'."')";
No tengo PHP en cualquier lugar para probarlo, pero eso debería crear las comillas simples alrededor de sus valores.
Porque, en realidad el SQL es muy probable que se ejecutan en la base de datos se vería así:
insert into URL
(
Url_ID,
Url_Name,
Anchor_Text,
Description
)
VALUES
(
9,
'My Name',
'My Text',
'My Description'
)
El artículo principal Binding Variables in Oracle and PHP parece estar abajo, pero aquí es el Google Cache Version que entra en detalles sobre cómo enlazar las variables en PHP. Definitivamente quiere hacer esto para 1) rendimiento y 2) seguridad de inyección de SQL.
Además, mi PHP es un poco oxidado, pero parece que también podría hacer su declaración búsqueda original como esto:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) values (9, '$url_name', '$anchor_text', '$description')";
Editar
Además, tiene que escapar ningún comillas simples que pueden ser presente en los datos que recibe de sus variables de formulario. En una cadena sql de Oracle, necesita convertir comillas simples a 2 comillas simples para escapar de ellas. Consulte la sección here titulada "¿Cómo puedo insertar cadenas que contengan comillas?"
Gracias mucho. esta funcionando. – user256938