私はここで少し混乱しています。私は次のコードを持っています:
class Users {
function count_matched_rows($needle, $haystack){
global $userdb;
$query = $userdb->prepare("SELECT COUNT(*) FROM `users` WHERE ? = ?");
$query->execute(array($haystack, $needle));
return $query->fetchColumn();
}
}
$users = new Users();
print_r($users->count_matched_rows("jeremyfifty9", "username"));
これは、期待値1で0を出力します。そこで、これを次のように変更しました。
class Users {
function count_matched_rows($needle, $haystack){
global $userdb;
$query = $userdb->prepare("SELECT COUNT(*) FROM `users` WHERE `username` = 'jeremyfifty9'");
$query->execute(array($haystack, $needle));
return $query->fetchColumn();
}
}
$users = new Users();
print_r($users->count_matched_rows("jeremyfifty9", "username"));
期待どおりに1を出力します。最初のコードが0を出力し、2番目のコードが1を出力する理由を誰かが知っていますか?
(ところで-私はこれをシミュレートするようにしようとしていますmysql_num_rows
)