Поместите кавычки вокруг $username
. Строковые значения, в отличие от числовых значений, должны быть заключены в кавычки.
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");
Кроме того, нет смысла использовать условие LIKE
, если вы не используете подстановочные знаки: если вам нужно точное совпадение использует =
вместо LIKE
.
Отладчик V8 , выпущенный как часть Google Chrome Developer Tools , может использоваться для отладки сценариев Node.js. Подробное объяснение того, как это работает, можно найти в Node.js GitHub wiki .
Существует также ndb , отладчик командной строки, написанный в Сам Node.js.
Просто передайте флаг инспектора, и вам будет предоставлен URL-адрес инспектора:
node --inspect server.js
Вы также можете разбить первую строку, передав --inspect-brk
.
Чтобы открыть окно Chrome автоматически, используйте модуль inspect-process .
# install inspect-process globally
npm install -g inspect-process
# start the debugger with inspect
inspect script.js
Использование версии Chrome 67.0.3396.62 (+)
node --inspect = 0.0.0.0: 9229 server .js
blockquote>
- Открыть DevTools.
- Щелкните значок узла рядом с пиктограммой чувствительного устройства.
Появится другое окно DevTools, которое выйдет специально для приложения узла для отладки.
node --prof ./app.js
node --prof-process ./the-generated-log-file
Библиотеки, которые выводят информацию отладки
Библиотеки, которые улучшают информацию трассировки стека
ab -n 100000 -c 1 http://127.0.0.1:9778/
Они используют для работы, но больше не поддерживается или больше не применимо к современным версиям узлов.
Я создал аккуратный маленький инструмент под названием pry.js , который может вам помочь.
Поместите простую инструкцию где-нибудь в свой код, запустите свой скрипт нормально и узел остановится текущий поток дает вам доступ ко всем вашим переменным и функциям. Просматривать / редактировать / удалять их по желанию!
pry = require('pryjs')
class FizzBuzz
run: ->
for i in [1..100]
output = ''
eval(pry.it) # magic
output += "Fizz" if i % 3 is 0
output += "Buzz" if i % 5 is 0
console.log output || i
bar: ->
10
fizz = new FizzBuzz()
fizz.run()
Существует много возможностей ...
Поддержка отладки часто реализуется с использованием протокола v8 Debugging Protocol или более нового протокола отладки Chrome .
Я написал другой подход для отладки кода Node.js, который является стабильным и чрезвычайно простым. Он доступен в https://github.com/sa/iron-node .
[/g1]
платформенный визуальный отладчик
Установка:
npm install iron-node -g;
Отладка:
iron-node yourscript.js;
node-inspector может спасти день! Используйте его из любого браузера, поддерживающего WebSocket . Точки останова, профайлер, livecoding и т. Д. Это действительно потрясающе.
Установите его с помощью:
npm install -g node-inspector
Затем запустите:
node-debug app.js
Я собрал короткий Node.js отладочный праймер при использовании инспектора узла для тех, кто не уверен, с чего начать.
В Node.js. имеется встроенный клиент командной строки отладчика . Cloud 9 IDE также довольно приятный (визуальный) отладчик .
Использовать Webstorm! Он идеально подходит для отладки приложений Node.js. Он имеет встроенный отладчик. Ознакомьтесь с документами здесь: https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html
Я бы использовал GOOD в Walmart Labs. Он выполнит эту работу, и он очень гибкий:
var hapi = require('hapi');
var good = require('good');
var server = hapi.createServer('localhost', 5000,{});
server.route({SOME ROUTE HERE});
server.start();
var options = {
subscribers: {
'console': ['ops', 'request', 'log', 'error'],
'http://localhost/logs': ['log']
}
};
server.pack.require('good', options, function (err) {
if (!err) {
console.log('Plugin loaded successfully');
}
});
Здесь много замечательных ответов, но я хотел бы добавить свое мнение (на основе того, как мой подход развился)
Посмотрим правде в глаза, мы все любим хороший console.log('Uh oh, if you reached here, you better run.')
, и иногда это отлично работает, поэтому, если вы не согласны с тем, чтобы двигаться слишком далеко от него, по крайней мере, добавьте bling в свои журналы с помощью debugg Visionmedia.
Так же удобно, как ведение журнала консоли, чтобы отлаживать профессионально, вам нужно засучить рукава и застрять. Установите точки останова, выполните свой код, проверите области и переменные, чтобы увидеть, что вызывает это странное поведение. Как отмечали другие, node-inspector действительно является пчелиными колени. Он делает все, что вы можете сделать со встроенным отладчиком, но используя этот знакомый интерфейс Chrome DevTools. Если, как и я, вы используете Webstorm, тогда здесь является удобным руководством для отладки оттуда.
По умолчанию мы не можем отслеживать ряд операций в разных циклах цикла событий (тики).
С помощью Node.js мы можем иметь серверный процесс Ожидается, что вы останетесь надолго. Что вы делаете, если думаете, что это вызвало некоторые неприятные утечки? Используйте heapdump и Chrome DevTools, чтобы сравнить некоторые снимки и посмотреть, что меняется.
Для некоторых полезных статей посмотрите
Если вы чувствуете, что смотрите видео (ы), затем
Какой бы путь вы ни выбрали, просто убедитесь, что вы понимаете, как вы отлаживаете
Это болезненная вещь. Посмотрите на свою что вы сами и никто другой не сделал это
Sophocles, Ajax
blockquote>
Запустите процесс узла с помощью --inspect.
node --inspect index.js
, а затем откройте chrome://inspect
в хроме. Нажмите ссылку «Открыть выделенный DevTools для узла» или установите это расширение chrome для легкого открытия хром DevTools.
Для получения дополнительной информации см. эту ссылку / g5]
Версия Node.js 0.3.4+ имеет встроенную поддержку отладки.
node debug script.js
Руководство: http://nodejs.org/api/ debugger.html
Код Visual Studio будет моим выбором для отладки. Нет накладных расходов на установку каких-либо инструментов или файлов npm install
. Просто установите начальную точку вашего приложения в package.json и VSCode автоматически создаст файл конфигурации внутри вашего решения. Он построен на Electron , на котором построены редакторы, такие как Atom.
VS Code дает аналогичный опыт отладки, как вы могли бы иметь в других средах IDE, таких как VS, Eclipse и т. Д. .
blockquote>
Тезис - это проект исследования Adobe, который позволяет отлаживать ваш код Node.js в редакторе Open Source Brackets . Он имеет некоторые интересные функции, такие как покрытие в режиме реального времени, ретроспективный контроль, асинхронное дерево вызовов.
[/g2]
Код Visual Studio будет работать для нас при отладке.
IntelliJ отлично работает для Node.js.
Кроме того, IntelliJ хорошо поддерживает «Code Assistance».
У IDE NetBeans была поддержка Node.js, поскольку версия 8.1 :
& lt; ...>
Новые функции Основные возможности
Разработка приложений Node.js
- Мастер проекта Node.js
- Новый мастер Node.js Express
]- Улучшенный редактор JavaScript
- Новая поддержка для запуска приложений Node.js
- Новая поддержка отладки приложений Node.js.
& lt ; ...>
blockquote>Дополнительные ссылки: