1

Medoo を使い始めたばかりですが、実行できないようです

SELECT * FROM users

簡単な方法で。使ってみました

$result = $db->select("users","*");

公式ドキュメントが示唆するように、しかしこれはエラーを返しました:

警告: medoo.php の 746 行目の foreach() に無効な引数が指定されています

入力することで自分が望むものを達成できることを認識しています

$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));

EDIT 2 テーブル名は users です。列は関係ありませんが、id、ユーザー名、パスワード、is_deleted としましょう。(とにかく私にとって) 奇妙な部分は、次のようなクエリがあることです。

$result = $db->select('users',array('id','username'));

たとえば、var_dump、または echoing pre と print_r($result) の組み合わせで簡単に出力できる結果を返します。一見不可能に見えることをすべて選択するのは、とてもシンプルで基本的なことです。

EDIT 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 を実行し、WAMP (バージョンを確認するのを忘れた)、PHP 5.5.31、および Medoo バージョン 1 を使用して、別の PC で問題のあるクエリをテストする機会がありました。驚いたことに、クエリは成功し、私が期待するものを返します。

家に帰って、私のマシンで(Windows XP SP3でXAMPP 1.8.2-6を使用しています-問題はそこにあるのでしょうか?)私は使用しました

$result = $db->debug()->select("users","*");

その結果、

SELECT * FROM "users";

引用符に注意してください。ステートメントをデバッグしているときに存在しないため、これが原因である可能性があると推測しています。

$result = $db->debug()->query('SELECT * FROM users');
//Outputs SELECT * FROM users
4

2 に答える 2

0

phpMyAdmin をバージョン 4.4.15.7 に、Medoo をバージョン 1.1.2 に更新することで問題を解決しました。現在、すべてが正常に機能しています。

于 2016-07-11T21:26:33.760 に答える
0

私は同じ問題を抱えています。medoo v1.1.1 で何かが変更されたようです。私は medoo v1 を使用していますが、medoo v1.1 に移行しようとすると、このエラーが発生します。

于 2016-06-28T12:50:54.617 に答える