Пожалуйста, проверьте, как только выбранная база данных не была вызвана, потому что некоторая база данных не выбрана
Проверьте
mysql_select_db('database name ')or DIE('Database name is not available!');
перед запросом MySQL, а затем перейдите к следующему шагу
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
f($result === FALSE) {
die(mysql_error());
Скорее всего, вернутся каретки (CR, '\r'
) в конце ваших строк в скрипте оболочки, поэтому переменная пытается быть прочитана в var\r
вместо var
. Вот почему ваше сообщение об ошибке бессмысленно. Аналогичная ошибка должна выглядеть так: :
run.sh: 3: export: [... the variable name]: bad variable name
В вашем случае bash выдает ошибку, потому что var\r
является незаконным для имени переменной из-за возврата каретки, поэтому печатает
test.sh: 3: read: var\r: bad variable name
, но \r
перескакивает в начало строки, перезаписывая начало сообщения об ошибке.
Удаляет каретки, возвращающие концы строк, возможно с помощью утилиты dos2unix
.
Вот список редакторов , которые поддерживают символ новой строки unix.
Кронштейны имеют расширение для новой строки / конца строки поддержка и встроена в Notepad ++. Перейдите на вкладку «Редактировать». Найдите «Конверсии EOL» и выберите Unix (LF). Это должно быть сделано.