在PHP中声明了一个查询并获取了一行
例如
$query=$db->query("select name,address from people where postcode like 'SO%'");
$row=$query->fetch_object();
是否可以设置代码完成,以便在我输入
时$row->
我得到了查询中字段的下拉列表(即名称和地址)。代码完成适用于许多其他事情,包括内部SQL语句,所以我认为这将是一个很好的功能(我希望有人会告诉我它已经存在!)
答案 0 :(得分:2)
$row
是设计时间,没有填充值。此值仅在运行时中设置,并带有数据库查询。
如果您绝对需要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);
[...]
代码完成
答案 1 :(得分:1)
此代码没有任何代码完成。
您只能使用vdoc自动完成existsng类。
$query=$db->query("select name,address from people where postcode like 'SO%'");
$row=$query->fetch_object();
/* @var $row \Existing\Class */
$row->