Примечание: если вы покажете весь код (как вы входите в систему, как вы запрашиваете набор данных), это поможет нам вам помочь.
Немного очень общих советов на данный момент.
Причина в том, что вы выбираете все (или, по крайней мере, более одного) записи. Когда вы делаете вывод только один раз, CF показывает только первую запись из набора данных. Вы можете проверить это, перейдя по набору данных:
<cfloop query="Recordset1">
<cfoutput>#Recordset1.Username#</cfoutput><br />
</cfloop>
Он должен показать все ваши записи.
Как указал Джейсон, вы должны выбрать только одну запись своего пользователя. Когда вы выполняете логин, сохраните пользователя # (обычно первичный ключ, id) в области сеанса (скажем, в Session.userid) и используйте его позже в запросах (я не знаю вашего запроса, так что это просто показать идея):
<cfquery datasource="datasourceName" name="Recordset1">
SELECT Username FROM users WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.userid#" />
</cfquery>
Предположив у вас есть уникальные идентификаторы, как ПК, вы получите только одну запись в Recordset1, поэтому ваш первоначальный вывод будет показывать правильное имя пользователя.
Я просто дал ему попробовать, это то, что вы имеете в виду: SELECT * FROM пользователей ГДЕ users.IDUsers Он по-прежнему делает То же самое, хотя, любая идея, почему? –
Bridget
Вам нужно правовое выражение в вашем предложении where. Предположим, что вы храните идентификатор пользователя из базы данных для зарегистрированного пользователя в session.userid. SELECT * FROM users WHERE users.IDUsers = –
У меня нет переменной сеанса, установленной в моем логине для IDUsers - есть ли какой-то код, который вы знаете Я могу вставить его? веселит. – Bridget