尝试从数据库中回显用户首字母的结果并将其显示给他们。问题是它只显示"欢迎,"而不是"欢迎,(用户首字母)"。
以下是我的index.php中的代码。
VERSION1:
<?php
$getting = mysql_query("
SELECT `initials` FROM `username`
WHERE `pass` = '".$_SESSION['userName']."'
");
$result = mysql_fetch_array($getting);
echo "Welcome, " . $result;
?>
create table username
(
UserNameID int auto_increment primary key,
userName varchar(100) not null,
pass varchar(100) not null,
initials varchar(20) not null
);
insert username (userName,pass,initials) values ('sb','bailey101','SB'),('cb','test','CB');
更新:我删除了$result = mysql_fetch_array($getting);
,然后将echo "Welcome, " . $result;
更改为echo "Welcome, " . $getting;
。然后我得到#34;欢迎,资源ID#6&#34;。我该如何解决这个问题?
目标:
mysqli
返回传递了pass =参数的用户名行的结果集。使用第一行显示用户的首字母。
注意忽略第2行和第2行后,这只是一个测试。
答案 0 :(得分:0)
SQL查询结果将作为数组返回(因此mysql_fetch_array()
)。由于echo
无法打印数组数据,因此它不会打印任何内容。
您的SQL查询的第一个(仅在此情况下)结果将在$result[0][0]
中。因此你的PHP应该是:
<?php
$getting = mysql_query("SELECT `initials` FROM `username` WHERE `pass` = '".$_SESSION['userName']."'");
$result = mysql_fetch_array($getting);
echo "Welcome, " . $result[0][0];
?>