繁体   English   中英

mysql_query不显示所有查询

[英]mysql_query doesn't show all query

我想在cc_did_use中显示所有不同的id_did

function getdidbycc($cccard_from_sipcard){
    $result = mysql_query("SELECT id_did from cc_did_use where id_cc_card='$cccard_from_sipcard'");
    if ($row = mysql_fetch_array($result)) 
    {
    $text = $row['id_did'];
    }
    return $text;
}

我有两个id_cc_card="31" ,一个值为id_dd="14" ,另一个为one = "13"但结果仅显示第一个。

我怎样才能展示他们两个?

然后我还有另一个功能

function get_did ($p){

$result = mysql_query("SELECT did FROM cc_did WHERE id ='$p'");
while ($row = mysql_fetch_array($result)) 
{
 echo $row['id_did'].'<br/>';
}
}

当我运行getdidbycc函数时,它返回两个值13和14,如何从这两个值中获取数字呢?

您正在获取结果并检查if仅执行一次的if条件。

if ($row = mysql_fetch_array($result)) 
{
    $text = $row['id_did'];
}

您必须获取结果,直到结果数组中有值为止。 因此,尝试使用while循环,

 while($row = mysql_fetch_array($result))   // while there are records
 {
    $text[] = $row['id_did'];    // store the result in array $text
 } 
 return $text;    // return the array

首先尝试使用mysqlipdo代替mysql否则您将在更新版本的php中遇到问题

根据您的代码$ text值由于循环而被覆盖,因此请使用类似这样的数组

if ($row = mysql_fetch_array($result)) {
    $text[] = $row['id_did'];
  }

return $text;

或者您可以只返回完整的数据作为return $row;

if ($row = mysql_fetch_array($result)) 
    {
    $text = $row['id_did'];
    }

将上面的行更改为此

while($row = mysql_fetch_array($result)) 
    {
    echo $row['id_did'].'<br/>';

    }

使用这样的while循环: http : //php.net/manual/en/function.mysql-fetch-array.php

Mysql Fetch数组仅返回当前元素

if ($row = mysql_fetch_array($result)) 
{
    $text[] = $row['id_did'];
}
return $text; // returns both

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM