oracle10g — Проблемы при вставке данных или создании таблицы или обновлении данных с использованием Oracle и Stack Overflow

Я новичок в PHP. Я пытаюсь вставить данные в таблицу. во время работы программы показывается успешно, но при проверке в базе данных oracle 10g показывается данные не найдены. То же самое произошло при создании таблицы, она показывает таблица или представление не существует.

Вот мой код =

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<h1><u>Inserting data into Table</u></h1>

<?php
// Create connection
$conn = oci_connect('SYSTEM', 'xxxx', 'localhost/XE');
// Check connection
if (!$conn) {
die("Connection failed: " . oci_error());
}


$sql = "insert into MYGUESTS (ID, FIRSTNAME, LASTNAME, EMAIL) values (12, 'John', 'Doe', '[email protected]')";
$stid=oci_parse($conn, $sql);
if(!$stid){
$e=oci_error($conn);
trigger_error(htmlentities($e[message],ENT_QUOTES),E_USER_ERROR);
}
else
{
echo "Successfull";
}
oci_close($conn);
?>
</body>
</html>

почему я не вижу никаких данных в базе данных оракула? в чем проблема?

0

Решение

Вам не хватает commit а также execute

Пример OCI из php.net:

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
// Use OCI_DEFAULT as the flag for PHP <= 5.3.1.  The two flags are equivalent
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
oci_rollback($conn);  // rollback changes to both tables
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!$r) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]