我刚开始使用Medoo,似乎无法执行
SELECT * FROM users
以一种简单的方式。我尝试过使用
$result = $db->select("users","*");
作为官方文档suggests,但这返回了一个错误:
警告:第746行的medoo.php中为foreach()提供的参数无效
通过输入
,我知道I can achieve我想要的东西$result = $db->query('SELECT * FROM users')->fetchAll();
但是我想知道在Medoo中执行普通的Select All查询是否有更简单/更短的方法?
修改 这是我的连接文件。
require ('medoo.php');
define("TYPE", "mysql");
define("DATABASE", "test");
define("HOST", "localhost");
define("USER", "root");
define("PASS", "");
define("CHARSET", "utf8");
$db = new medoo (array(
'database_type' => TYPE,
'database_name' => DATABASE,
'server' => HOST,
'username' => USER,
'password' => PASS,
'charset' => CHARSET));
编辑2 表名是用户。列是无关紧要的,但我们说它们是id,用户名,密码,is_deleted。奇怪(对我来说,无论如何)的一部分是一个查询,如
$result = $db->select('users',array('id','username'));
返回一个结果,我可以轻松打印出来,比如var_dump,或者回显pre和print_r($ result)的组合。它只是那么简单,基本选择所有看似无法做到的事情。
编辑3 我也尝试将引号改为撇号,但仍然没有骰子。如果它很重要,这里有我的PHP,MySQL和Medoo版本:
PHP 5.4.31 // obtained via phpinfo
MySQL 5.5.39 // obtained by querying SELECT VERSION() in phpMyAdmin
Medoo 1.1
编辑4 我有机会在运行Windows 7 Enterprise的另一台PC上测试有问题的查询,使用WAMP(忘了检查版本),PHP 5.5.31和Medoo版本1.令我惊讶的是,查询通过,并返回我期待它。
回到家里,在我的机器上(使用XAMPP 1.8.2-6,在Windows XP SP3上 - 也许这就是问题所在?)我用过
$result = $db->debug()->select("users","*");
导致
SELECT * FROM "users";
请注意引号。我猜这可能是罪魁祸首,因为当我调试语句时它们不存在:
$result = $db->debug()->query('SELECT * FROM users');
//Outputs SELECT * FROM users
答案 0 :(得分:0)
答案 1 :(得分:0)
I have solved the problem by updating phpMyAdmin to version 4.4.15.7, and Medoo to version 1.1.2. Everything is working fine now.