Trzeba apostrofów wokół varchar
pól, które wstawiasz (które jak mniemam są url_name, anchor_text i opis). Pojedynczy cudzysłów, który obecnie właśnie tworzysz te wartości, ale w Oracle, pola varchar muszą mieć pojedyncze cudzysłowy wokół nich. Spróbuj tego:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) VALUES(9,'".'{$url_name}'."','".'{$anchor_text}'."','".'{$description}'."')";
nie mam PHP nigdzie go przetestować, ale to powinno stworzyć apostrofów wokół wartości.
Bo naprawdę sql będzie ostatecznie być wykonywany w bazie danych będzie wyglądać następująco:
insert into URL
(
Url_ID,
Url_Name,
Anchor_Text,
Description
)
VALUES
(
9,
'My Name',
'My Text',
'My Description'
)
Artykuł główny Binding Variables in Oracle and PHP wydaje się być w dół, ale tutaj jest Google Cache Version, że idzie do szczegółów o tym, jak powiązać zmienne w PHP. Zdecydowanie chcesz robić to dla 1) wydajności i 2) bezpieczeństwa z SQL injection.
Również moje PHP jest nieco zardzewiały, ale wygląda na to, można również zrobić oryginalną instrukcję zapytania tak:
$sql1="insert into URL(Url_ID,Url_Name,Anchor_Text,Description) values (9, '$url_name', '$anchor_text', '$description')";
Edycja
Ponadto, trzeba uciec żadnych apostrofów, które mogą być obecne w danych, które otrzymujesz ze zmiennych formularza. W ciągu SQL sql należy przekonwertować pojedyncze cudzysłowy na 2 pojedyncze cudzysłowy, aby uciec od nich. Zobacz rozdział here zatytułowany "Jak wstawić ciągi zawierające cytaty?"
Bardzo dużo. to działa. – user256938