返回数组和消息来运行

时间:2011-03-22 13:32:38

标签: php

请帮我解决这个问题。我想从数据库中获取数据,如果有结果,我想返回一个消息和数据数组。

    $this->query=("select * from user where pno='".$search."'");
    $rd = $this->executeQuery();
    $data = $rd->fetch_assoc();


    if ($data) {
        $message = "Record found.";
    } else {
        $message = "Record not found.";
    }
return array($data, $message);

我这样称呼它:

list($data, $message)=$user->search($result);

echo $message
echo $data['name'];

我收到消息但我无法获取数组。 如果功能有问题或者我可以改进它,请帮帮我。

3 个答案:

答案 0 :(得分:2)

从不这样做 你应该把你的消息设置代码放在

之外。

function getData(){
    $this->query=("select * from user where pno='".$search."'");
    $rd = $this->executeQuery();
    return $rd->fetch_assoc();
}
if ($data = getData()){
  $message = "Record found.";
  echo $message;
  echo $data['name'];
} else {
  $message = "Record not found.";
  echo $message;
}

答案 1 :(得分:1)

我不确定你在使用什么,但很可能你会在$ data中有一个行数组,即使只有一行。试试$data[0]['name']。此外,我建议你将该消息从你的函数移动到它被调用的地方,如果没有找到,则使函数返回NULL或FALSE。

$this->query=("select * from user where pno='".$search."'");
$rd = $this->executeQuery();
$data = $rd->fetch_assoc();

return empty($data)?FALSE:$data;

答案 2 :(得分:0)

您的代码示例中echo $message后遗漏了一个分号。

尝试将此附加到您的代码并告诉我们它返回的内容:

var_dump($data);