Php 以数据库中的纯文本而不是数组中的文本显示用户的名字和姓氏

Php 以数据库中的纯文本而不是数组中的文本显示用户的名字和姓氏,php,mysql,database,arrays,Php,Mysql,Database,Arrays,我有一个html页面,它将valuephone发送到log.php: <?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'&q

我有一个html页面,它将value
phone
发送到log.php:

<?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)
?>
我已创建表“详细信息”

FNAME名字

姓氏

生日

电话-用户号码


我的问题是,我只想在log.php文件中显示“Vikrant Kelkar”,而不是整个数组,而是用户的名字和姓氏。任何帮助都将非常有用?

只需访问阵列:

echo $rows[0]["FNAME"] . " " . $rows[0]["LNAME"];

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

  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中运行


为什么要使用while循环。SQL WHERE子句条件是电话号码,因此它是唯一的,只返回一行

<?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'];

?>
查询数据库时,可以使用MySQL函数构建全名。例如:-

<?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)
?>

在echo['here']中,我是否应该在LNAME和FNAME之前写入[1]或[0]既然您已将
$row
分配给
$rows[1]
,您应该使用
1
而不是
0
,例如:
echo$rows[1][“FNAME]$行[1][“LNAME”]
我是否应该删除代码打印?$rows)&将其插入echo$rows[1][“FNAME”]$行[1][“LNAME”];它使用echo$rows[1][“FNAME”]在结果中显示VikrantKelkar$行[1][“LNAME”];我想要一个像Vikrant KelkarSELECT CONCAT(FNAME,,,LNAME)这样的空格作为详细信息中的全名;通过MySQL在PHP中进行操作。它更快。
<?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)
?>