我正在尝试使用where条件获取数据表单。这是我的代码,它只返回一个值。在此逻辑之前,我使用了foreach函数,但它给了我相同的值。
public function text1(){
$valuee = array('20','14','9');
$length = count($valuee);
for ($i = 0; $i < $length; $i++) {
$sql = "SELECT * FROM leads WHERE id = '".$valuee[$i]."'";
$rs = mysqli_query($this->link, $sql) or die(mysqli_error($this->link));
return $rs;
}
}
这是rsult:
mysqli_result Object ( [current_field] => 0 [field_count] => 6 [lengths] => [num_rows] => 1 [type] => 0 )
答案 0 :(得分:2)
两个主要问题:
首先,你在循环中return $rs;
。 在循环的第一次迭代中,此返回将立即结束您的函数并返回值。您需要在循环内的数组中收集结果,并返回结果数组之后循环。
其次,您正在使用mysqli_query
执行查询,但是您没有从它返回的结果对象中获取任何行。
public function text1(){
$valuee = array('20','14','9');
$length = count($valuee);
for ($i = 0; $i < $length; $i++) {
$sql = "SELECT * FROM leads WHERE id = '".$valuee[$i]."'";
$rs = mysqli_query($this->link, $sql) or die(mysqli_error($this->link));
// fetch the row from the result into an array
$results[] = $rs->fetch_assoc();
}
// return the array after it has been filled in the loop
return $results;
}
还有其他一些问题,但这是现在给你带来麻烦的主要逻辑错误。