2016-01-06 4 views
0

Я пытаюсь внедрить некоторую обработку ошибок с использованием Oracle и PHP. Если я пытаюсь вставить заявление в таблицу БД, где PK уже существует, не существует ВСТАВИТЬ не выполняется - пока он возвращается, который был добавлен данные - когда на самом деле оно не - Нужна помощь с Error HandlingОшибка обработки PHP База данных Oracle

require('connection.inc'); 
require('connection_db.inc'); 
$conn = db_connect(); 

$sql = oci_parse($conn,"INSERT INTO Schema.TableA (DOE, Trips) VALUES (:doe, :trp)"); 

oci_bind_by_name($sql, ':doe', $f1); 
oci_bind_by_name($sql, ':trp', $f2); 

oci_execute($sql); 

<? 
if($sql) 
{ 
    echo("Input data has been added<br><br>"); 
    echo("<a href='link1.php'>View Links</a>"); 
} 
else 
{ 
    echo("Input data has failed"); 
    echo "</div>"; 
} 

?> 

ответ

0

Вы оцениваете идентификатор оператора $sql, а не результат вызова oci_execute ...

oci_execute вернет true, если успешно и false, если запрос не удался. См http://php.net/manual/en/function.oci-execute.php

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

$stid = oci_parse($conn, 'SELECT * FROM employees'); 
$result = oci_execute($stid); 

if(true === $result){ 
    // Query successfully executed 
    echo "Hooary"; 
} else { 
    // Something went wrong 
    $e = oci_error($stid); 
    echo "Error: " . $e['message']; 
} 

Малый совет, судя по коду вы публикуемую вы, кажется, в процессе обучения PHP, я бы сказал, взглянуть на PDO, если вы хотите иметь более безопасный и легкий способ взаимодействия с вашей базой данных. Для PDO доступен драйвер oci.

http://php.net/manual/en/book.pdo.php
http://php.net/manual/en/ref.pdo-oci.php

+0

Я просто сделал некоторые изменения - мой плохой – Ronald

+0

я уже обновил свой ответ тоже :) – ChrisR

Смежные вопросы