Php 如何从批量结果生成私有函数SELECT*?
我创建了两个从数据库下载变量的函数。 我不知道为什么,但两个查询返回相同的结果。也许有一个我不知道的解决办法——但我什么也没想到。你能帮我吗Php 如何从批量结果生成私有函数SELECT*?,php,mysql,sql,function,Php,Mysql,Sql,Function,我创建了两个从数据库下载变量的函数。 我不知道为什么,但两个查询返回相同的结果。也许有一个我不知道的解决办法——但我什么也没想到。你能帮我吗 public function A($A, $B) { if(self::X() && count(self::X()) > NULL) { $id2 = self::DB2(); $this->id2 = $id2;
public function A($A, $B)
{
if(self::X() && count(self::X()) > NULL)
{
$id2 = self::DB2();
$this->id2 = $id2;
$id3 = self::DB2();
$this->id3 = $id3;
self::Y();
return true;
}
else
{
return false;
}
}
private function DB2()
{
$id2 = BDR::selectBySQL("x1","SELECT * FROM id2 WHERE id='".$this->id1."' LIMIT 1");
foreach($id2 as $id2)
{
$id2 = $id2['id2'];
}
$id3 = BDR::selectBySQL("x1","SELECT * FROM id3 WHERE id='".$this->id3."' LIMIT 1");
foreach($id3 as $id3)
{
$id3 = $id3['id3'];
}
return $id2;
return $id3;
}
注意getByIdUz()返回的总是$id2。。第二次返回($id3)从未到达。
如果希望函数retunr为两个值,则可以返回一个数组,例如:
private function getByIdUz()
{
$id2 = BDR::selectBySQL("x1","SELECT * FROM id2 WHERE id='".$this->id1."' LIMIT 1");
foreach($id2 as $id2)
{
$id2 = $id2['id2'];
}
$id3 = BDR::selectBySQL("x1","SELECT * FROM id3 WHERE id='".$this->id3."' LIMIT 1");
foreach($id3 as $id3)
{
$id3 = $id3['id3'];
}
return ['id2'=>$id2, 'id3', $id3];
}
你可以用
$myArray = getByIdUz();
$myId2 = $myArray['id2'];
$myId3 = $myArray['id3'];
在您的getByIdUz()中,始终返回$id2。。第二个返回($id3)从未到达。他返回给我,但只是两者都相同。你还应该显示BDR::selectBySQL函数。因为在你的代码中,不清楚查询是否执行,也不清楚函数中使用的$this->id1和$this->id3的内容。是的,当然,数组,谢谢先生,我会加上你的声音,但我只能在我获得15个声誉后才能加上