Php 以数据库中的纯文本而不是数组中的文本显示用户的名字和姓氏
我有一个html页面,它将valuePhp 以数据库中的纯文本而不是数组中的文本显示用户的名字和姓氏,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
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)
?>