当试图从数据库中回显用户首字母缩写的结果并将其显示给他们时。问题是它只显示"欢迎",而不是"欢迎,(用户的首字母缩写)"。
以下是我在index.php.中的代码
版本1:
<?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;
。然后我得到"欢迎,资源id#6"。我该如何解决此问题?
目标:
mysqli
返回用户名行的结果集,其中pass=传递的参数。使用第一行来显示用户的首字母缩写。
请注意忽略第二行和第二行之后的内容,这只是一个测试。
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];
?>