Этот запрос должен работать:
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '%$username%'");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'];
}
Проблема заключается в одинарных кавычках, поэтому ваш запрос завершается с ошибкой и возвращает FALSE, и цикл WHILE не может выполняться. Использование% позволяет сопоставлять любые результаты, содержащие вашу строку (например, SomeText- $ username-SomeText).
Это просто ответ на ваш вопрос, вы должны реализовать материал, упомянутый в других сообщениях: обработка ошибок , используйте escape-строки (пользователи могут вводить что-либо в поле, и вы ДОЛЖНЫ убедиться, что это не произвольный код), используйте PDO вместо mysql_connect, который теперь лишен.
Если полная замена одной зависимости новой версией работает, то решение Sparko работает. Однако это не всегда так.
Если вы хотите включить обе версии библиотеки в uber-jar, созданные sbt-assembly, вам нужно будет использовать затенение. См. этот пост для обзора того, что такое затенение, и некоторые из недостатков, связанных с ним.
Затенение описано в документации sbt-assembly здесь , но если вы что-то вроде меня, их способ объяснить это оставит вас более смущенными, чем вы начали. Есть хорошая запись в блоге, Spark, Uber Jars и Shading с sbt-assembly , что помогает немного демистифицировать его. Вот соответствующий раздел:
Я могу затенять мою конфигурационную конфигурационную версию, назвав ее другим именем, чтобы Spark не путался между версиями. Я быстро перешел в файл build.sbt и добавил следующий код:
assemblyShadeRules в сборке: = Seq (ShadeRule.rename ("com.typesafe.config. **" -> "my_conf. @ 1 ") .inLibrary (" com.typesafe "%" config "%" 1.3.0 ") .inProject)
Согласно документации, это должно помещать любой класс в com.typesafe.config под новый пакет my_conf.
blockquote>В вашем случае решение добавит что-то вроде этого в ваш файл
build.sbt
:assemblyShadeRules in assembly := Seq( ShadeRule.rename("com.somecompany.**" -> "my_conf.@1") .inLibrary("com.somecompany" % "libraryZ" % "0.11") .inProject )
В sbt конфликты между библиотеками настраиваются с помощью диспетчера конфликтов. По умолчанию выбрана последняя ревизия, но это также можно переопределить в файле .sbt:
conflictManager := ConflictManager.strict
Если вы используете sbt 0.13.6 или выше, вы будете предупреждены, если у вас есть несовместимый бинарная версия между вашими зависимостями. В этой ситуации вы можете настроить переопределение в вашем sbt-файле для конкретной библиотеки:
dependencyOverrides += "org.raman" % "Z" % "x.11"
Это заставит разрешенную версию Z
на x.11
, но не приведет к прямой зависимости.