使用Medoo选择ALL

时间:2016-06-27 19:06:51

标签: php windows xampp medoo

我刚开始使用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

2 个答案:

答案 0 :(得分:0)

我有同样的问题。似乎在medoo v1.1.1中已经改变了一些东西。我正在使用medoo v1,当我想迁移medoo v1.1时,会发生此错误。

答案 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.

相关问题