2015-04-30 33 views
1

所以我有一點代碼,我只是不能弄清楚。我打開了錯誤報告,並且我有相應的try/catch塊,但下面的代碼是而不是正在運行。當我運行這個代碼時,我所得到的是的bool(false)PDO不會返回來自SQLite數據庫的結果,或任何異常

try 
{ 
    $db = new PDO('sqlite:norming_database.db'); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 

/*... some other stuff in between ...*/ 

try 
{ 
    $query = "SELECT stimulusName 
      FROM responses 
      WHERE workerId LIKE :workerId"; 
    $stmt = $db->prepare($query); 
    $stmt->bindParam(':workerId', $_GET['testWorkerId']); 
    $stmt->execute(); 
    $result = $stmt->fetch(); 
} 
catch(PDOException $e) 
{ 
    echo "PDO Error: " . $e->getMessage(); 
} 

echo "<pre>" . var_dump($result) . "</pre>"; 

我沒有收到任何例外或錯誤。最重要的是,如果我在我的數據庫管理器(Valentia Studio)中運行查詢本身,它將返回我期待的結果。

我懷疑在我的代碼中存在一些錯字或其他東西,我反覆閱讀後無法看到它。這是怎麼寫的?

+0

添加錯誤報告給您的文件(S)的頂部您開'

+0

@JayBlanchard是的,這就是我的!仍然沒有錯誤或結果!這是我在相當一段時間內遇到的更令人沮喪的編碼問題之一,我已經沉沒了6個小時的問題... –

+0

發佈您的確切錯誤的描述。 – potashin

回答

0

$query = "SELECT stimulusName FROM responses WHERE workerId LIKE '%" . :workerId . "%'");