0

phone我有一个向 log.php发送值的 html 页面:

<?php 
    $PHONE = $_POST['phone'];

    mysql_connect('host.com', 'user', 'pass'); mysql_select_db('userdb');  

    $results = mysql_query(sprintf("SELECT FNAME,LNAME FROM `details` WHERE PHONE='$PHONE'",
                             mysql_real_escape_string($PHONE))) or die(mysql_error()); 
    while($row = mysql_fetch_assoc($results))
    { 
        $rows[1] = $row; 
    }
    print_r($rows)
?>

我从数据库中以数组的形式在 log.php 文件中得到结果-

Array ( [1] => Array ( [FNAME] => Vikrant [LNAME] => Kelkar ) ) 

我创建了表格“详细信息”

FNAME-名字

LNAME-姓氏

BIRTHDAY-生日

电话 - 用户的号码。

我的问题是,我只想在 log.php 文件中显示“Vikrant Kelkar”,而不是整个数组,而只是用户的名字和姓氏。有什么帮助会很好吗?

4

4 回答 4

0

您可以在查询数据库时使用 MySQL 的CONCAT函数来构建全名。例如:-

<?php 
mysql_connect('host.com', 'user', 'pass'); mysql_select_db('userdb');  

$results = mysql_query(sprintf(
    "SELECT CONCAT(FNAME, ' ', LNAME) AS NAME FROM `details` WHERE PHONE='%s';",
    mysql_real_escape_string($_POST['phone'])
));

$rows = array();

if($results)
{
    while($row = mysql_fetch_assoc($results))
    { 
        $rows[] = $row; 
    }
}

print_r($rows)
?>

安东尼。

于 2013-06-23T10:59:34.133 回答
0

除非您有多个结果,否则您不需要将其放入数组中。

  while($row = mysql_fetch_assoc($results))
        { 
        $full_name = $row['FNAME'].' '.$row['LNAME']; 
        //$full_name[] = $row['FNAME'].' '.$row['LNAME']; // multi result
        }

echo $full_name;
//echo $full_name[0]; // loop thro foreach

考虑学习 pdo/mysqli,因为 mysql 库不会很快在 php 中运行。

http://www.php.net/manual/en/book.pdo.php

http://uk1.php.net/manual/en/mysqlinfo.api.choosing.php

于 2013-06-23T10:51:19.247 回答
0

只需访问数组:

echo $rows[0]["FNAME"] . " " . $rows[0]["LNAME"];
于 2013-06-23T10:20:53.340 回答
0

为什么要使用 while 循环。SQL WHERE 子句条件是电话号码,因此它将是唯一的并且只返回一行。因此,只需删除 while 循环并执行以下操作。

<?php 
$PHONE = $_POST['phone'];

mysql_connect('host.com', 'user', 'pass'); mysql_select_db('userdb');  

$results = mysql_query(sprintf("SELECT FNAME,LNAME FROM `details` WHERE PHONE='$PHONE'",mysql_real_escape_string($PHONE))) or die(mysql_error()); 
$row = mysql_fetch_assoc($results);
echo $row['FNAME']." ".$row['LNAME'];

?>
于 2013-06-23T10:57:49.650 回答