【问题标题】:PDO simple select query using oracle database使用 oracle 数据库的 PDO 简单选择查询
【发布时间】:2014-09-08 11:28:58
【问题描述】:

我想尝试运行简单的选择查询以了解数据库连接是否正常工作。

这是我对 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。 我不确定它是否真的连接到数据库,因为我不太了解 try and catch 。 然后有一个空白页没有结果。

请查看屏幕截图以获取表名和列。

我做错了什么请告诉我。

【问题讨论】:

  • 你为什么不写更多的代码来实际打印成功的东西呢?返回的行是一个很好的候选。

标签: php oracle pdo


【解决方案1】:

改变这一行:

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

收件人:

$stmt->execute();

您没有要执行的任何参数,在下面的场景中它会起作用:

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

【讨论】:

  • 谢谢,它成功了。我不知道我们可以让它空着。 xD。
猜你喜欢
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
  • 2012-07-17
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
相关资源
最近更新 更多