我正在创建一个简单的方法来从表中的一行中获取字段值。 但不知何故,我无法得到字段值....可以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);'帮助你看看里面有什么... –