【发布时间】:2012-12-23 18:59:39
【问题描述】:
我正在“世界末日”(mysql_ 贬值!)准备一些使用 mysql_ 扩展的旧应用程序。我目前正在将它们转换为 PDO。
我使用了很多函数来简化我的工作。但是我无法让函数中的 $db->query 工作。例如我正在转换这个函数:
function GetAccount($account_id){
$Query = mysql_query("SELECT name, balance, account_number FROM accounts WHERE id = '$account_id'");
if (mysql_num_rows($Query) > 0){
$Result = mysql_fetch_assoc($Query);
return $Result;
} else {
return false;
}
}
进入这个 PDO 函数。
function GetAccount($account_id){
global $db;
$Result = $db->query("SELECT name, balance, account_number FROM accounts WHERE id = '$account_id'");
if (count($Result) > 0){
return $Result;
} else {
return false;
}
}
我已经在这个函数之外建立了一个 PDO 连接,它适用于任何函数之外的查询。
第二个 (PDO) 函数的问题是 $Result 是空的。 var_dump 返回:bool (false)。
我忘记/做错了什么?
谢谢你:)
【问题讨论】:
-
你好像忘了问问题。
-
干杯 :) $Result 为空。
-
如果将查询更改为: $Result = $db->query("SELECT name, balance, account_number FROM accounts WHERE id = " . $account_id ); --> 或者更好的是——使用准备好的语句...
-
我已经测试了上面的代码并且它工作正常。错误必须在代码的不同部分。
-
@ethrbunny,当我使用你的代码时,我得到了这个数组:PDOStatement Object ([queryString] => SELECT name, balance, account_number FROM accounts WHERE id = 10)