我刚刚开始使用Medoo,似乎不可能
SELECT * FROM users简单地说。我试过用
$result = $db->select("users","*");作为正式文档建议,但是这返回了一个错误:
警告:为第746行的medoo.php中的foreach()提供的参数无效
我知道通过键入我能做到我想要什么
$result = $db->query('SELECT * FROM users')->fetchAll();但是我想知道在Medoo中是否有一种更简单/更短的方法来执行一个普通的Select查询?
编辑这个连接文件。
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我有机会在另一台PC上测试有问题的查询,运行Windows7Enterprise,使用WAMP (忘记检查版本),PHP5.5.31和Medoo 1。令我惊讶的是,查询通过了,并返回了我预期的结果。
回到家里,在我的机器上(使用XAMPP1.8.2-6,在Windows SP3上--也许这就是问题所在?)我用过
$result = $db->debug()->select("users","*");这导致
SELECT * FROM "users";请注意引号。我猜想这可能是罪魁祸首,因为当我调试语句时,它们不存在:
$result = $db->debug()->query('SELECT * FROM users');
//Outputs SELECT * FROM users发布于 2016-07-11 21:26:33
我通过将phpMyAdmin更新为4.4.15.7版本,将Medoo更新为1.1.2版本解决了这个问题。现在一切都很好。
发布于 2016-06-28 12:50:54
我也有同样的问题。在medoo v1.1.1中似乎发生了一些变化。我正在使用medoo v1,当我想迁移medoov1.1时,会发生此错误。
https://stackoverflow.com/questions/38061427
复制相似问题