Php 在PDO和mysql不工作的情况下运行select查询

Php 在PDO和mysql不工作的情况下运行select查询,php,mysql,pdo,Php,Mysql,Pdo,我一直在尝试使用php的pdo从mysql数据库中获取一些数据,但它根本没有输出任何数据,我知道pdo已经安装并正常工作,因为我已经运行了其他查询。这是我的密码 <?php error_reporting(-1); $db_host="localhost"; $db_username="mike16889"; $db_password="********"; $db_name="omni"; try { $dbh = new PDO("mysql:host=$db_host;

我一直在尝试使用php的pdo从mysql数据库中获取一些数据,但它根本没有输出任何数据,我知道pdo已经安装并正常工作,因为我已经运行了其他查询。这是我的密码

<?php 
error_reporting(-1);

$db_host="localhost";
$db_username="mike16889";
$db_password="********";
$db_name="omni";

try {
    $dbh = new PDO("mysql:host=$db_host;dbname=$db_name", $db_username, $db_password);
}
catch(PDOException $e)
{
    echo $e->getMessage();
};

try {
    $sql = $dbh->("SELECT * FROM jobdetails");
    $sql->bindParam(1, $_SESSION["workerID"]);
    $sql->execute();
} catch(PDOException $e) {
    echo $e->getMessage();
};

$sql->setFetchMode(PDO::FETCH_ASSOC);
while($row = $sql->fetchObject()){
    print_r($row);
    echo'</ hr>';
}

print_r($data);
?>


它完全不输出任何内容、错误和数据。

为什么在开发过程中要抑制错误

  $sql = $dbh->("SELECT * FROM jobdetails");   //dbh-> what?  any method name missing? guess
应该是

  $sql = $dbh->prepare("SELECT * FROM jobdetails");
               ^

您忘记在下一行中写入
prepare

$sql = $dbh->prepare("SELECT * FROM jobdetails");

分析错误:语法错误,意外的“(”,应为T_字符串或T_变量或'{'或'$'在第18行
太好了,thanx因为这个,我不敢相信我没有看到,我已经盯着那个代码看了这么长时间了,我是PDO的新手。我会在10分钟内接受你的答案。我不会抑制错误,根据-1应该显示每一个错误。但是thanx对于答案也是如此。