使用oracle数据库的PDO简单选择查询

时间:2014-09-08 11:28:59

标签: php oracle pdo

我想尝试运行简单的select查询来了解数据库连接是否完全正常工作。

这是我在php文件上做的一些编码并尝试执行它。

$tns = "
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = COD3R-PC)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )
       ";
try {
    $conn = new PDO("oci:dbname=".$tns, '****', '****');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo 'Connected to database';
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
/*if($_POST['searchFilter']){
    $searchFilter = $_POST['searchFilter'];
    $stmt = $conn->prepare("SELECT ROOM, GUEST_NAME FROM RESERVATION_GENERAL_2 WHERE ROOM LIKE ? OR GUEST_NAME LIKE ?");
    $stmt->execute(array('%'.$searchFilter.'%','%'.$searchFilter.'%' ));
    $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    $stmt->closeCursor();
    if (empty($results)){
      print_r(json_encode(0));
    }
    else{
    print_r(json_encode($results));
    }
}*/
$stmt = $conn->prepare("SELECT * FROM RESERVATION_GENERAL_2");
$stmt->execute(array($stmt));
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();

我收到的唯一信息是Connected to database。 我不确定它是否真的与数据库连接,因为我不知道尝试并抓住了很多。 之后有一个空白页面没有结果。

请参阅表格名称和列的屏幕截图。 enter image description here

我说错了,请告诉我。

1 个答案:

答案 0 :(得分:1)

更改此行:

$stmt->execute(array($stmt));

要:

$stmt->execute();

你没有任何要执行的参数,在下面的场景中它可以工作:

$stmt = $conn->prepare("SELECT * FROM RESERVATION_GENERAL_2 WHERE reservation_id = ?");
$stmt->execute(array($id));