2

PHP でクエリを宣言し、行をフェッチした

例えば

$query=$db->query("select name,address from people where postcode like 'SO%'");
$row=$query->fetch_object();

入力したときにコード補完を設定することは可能ですか

$row->

クエリのフィールド (名前と住所) のドロップダウン リストを取得します。コード補完は、SQL ステートメントの内部を含め、他の多くのことでうまく機能するので、これは素晴らしい機能だと思いました (既にあると誰かが教えてくれることを願っています!)

4

2 に答える 2

2

$row値で満たされるのではなく、時間を設計することです。この値は、データベース クエリを使用してRuntimeでのみ設定されます。

絶対に必要な場合の回避策のみmydata->

関数の利点はsetProps()、値を検証できることです。

[...]
define(val1, "name");
define(val2, "address");

$query = "SELECT ".val1.", ".val2." from people where postcode like 'SO%'";
$result = mysql_query($query);

if (!$result) {
    $message  = 'invalid query: ' . mysql_error() . "\n";
    $message .= 'query: ' . $query;
    die($message);
}

while($rows[]=mysql_fetch_array($result,MYSQL_ASSOC));

class MyArrayObject extends ArrayObject {
        public $name;
        public $address;

        public function setProps($name) {
            if (isset($name[val1])) {$this->name = $name[val1]; }
                               else {$this->name = 'n/a';}
            if (isset($name[val2])) {$this->address = $name[val2]; }
                               else {$this->address = 'n/a';}
        }
}

$mao = new MyArrayObject($rows,ArrayObject::ARRAY_AS_PROPS);
$iterator = $mao->getIterator();
while ($iterator->valid()) {
    $mao->setProps($iterator->current());
    echo  "<br>\n";
    echo $mao->name . "<br>\n" ;
    echo $mao->address ;
    $iterator->next();
}

mysql_close($link);
[...]

コード補完

ここに画像の説明を入力

于 2013-04-02T23:44:30.933 に答える
1

このためのコード補完はありません。

vdoc を使用して既存のクラスに対してのみオートコンプリートできます。

$query=$db->query("select name,address from people where postcode like 'SO%'");
$row=$query->fetch_object();
/* @var $row \Existing\Class */
$row->
于 2013-04-02T14:44:52.667 に答える