我正在創建一個簡單的方法來從表中的一行中獲取字段值。 但不知何故,我無法得到字段值....可以net從php方法獲得字段值
這裏是我的簡單梅索德
private function getBankKode($transId=17000012720)
{
try
{
$qry = "SELECT * FROM accbank WHERE bank_transid='$transId'";
$res = $this->dbCon->query($qry);
$rec = $res->fetch(PDO::FETCH_ASSOC);
return $rec['bank_kode'];
}
catch(PDOException $e)
{
$this->set_commit("ROLLBACK");
$this->set_message("Methode getBankKode - ".$e->getMessage());
}
}
沒有錯誤消息出來...... 領域bank_kode類型alphachar有9位在lenght 這梅索德應該返回值「BANK-0014」 ......
有趣的是,如果我改變字段返回statament成爲return $rec[bank_id]
更新: 如果我查詢行表外班...
$qry = "SELECT * FROM accbank WHERE bank_transid='17000012720'";
$res = $pdoCon->query($qry);
$rec = $res->fetch(PDO::FETCH_ASSOC);
$bankKode = $rec['bank_kode'];
我可以得到bank_kode
字段值.....
您的代碼容易受到[** SQL注入**](https://en.wikipedia.org/wiki/SQL_injection)攻擊。您應該通過[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)或[** PDO **](https ://secure.php.net/manual/en/pdo.prepared-statements.php)驅動程序。 [**這篇文章**](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)有一些很好的例子。 –
在這裏你不需要'ROLLBACK' - 你只是在讀取而不是寫入,而且你甚至沒有開始一個事務。 –
你可能'var_dump($ rec);'幫助你看看裏面有什麼... –