Для синтаксических ошибок вам нужно включить отображение ошибок в php.ini. По умолчанию они отключены, потому что вы не хотите, чтобы «клиент» видел сообщения об ошибках. Проверьте эту страницу в документации PHP для информации по двум директивам: error_reporting
и display_errors
. display_errors
, вероятно, тот, который вы хотите изменить. Если вы не можете изменить php.ini, вы также можете добавить следующие строки в файл .htaccess:
php_flag display_errors on
php_value error_reporting 2039
Возможно, вам захочется использовать значение E_ALL (как упоминалось Gumbo) для вашей версии PHP для error_reporting
, чтобы получить все ошибки. Дополнительная информация
3 других элемента: (1) Вы можете проверить файл журнала ошибок, поскольку он будет иметь все ошибки (кроме случаев, когда ведение журнала отключено). (2) Добавление следующих двух строк поможет вам отлаживать ошибки, которые не являются синтаксическими ошибками:
error_reporting(-1);
ini_set('display_errors', 'On');
(3) Другой вариант - использовать редактор, который проверяет наличие ошибок при вводе, например PhpEd . PhpEd также поставляется с отладчиком, который может предоставить более подробную информацию. (Отладчик PhpEd очень похож на xdebug и интегрируется непосредственно в редактор, поэтому вы используете 1 программу для выполнения всего.)
Ссылка Cartman также очень хороша: http : //www.ibm.com/developerworks/library/os-debug/
Это зависит от того, какую базу данных вы используете. Mysql имеет функцию LAST_INSERT_INSERT_ID()
, которую вы можете вызвать после вставки (просто позвоните SELECT LAST_INSERT_INSERT_ID()
), и вы получите идентификатор последней вставленной строки (если ваш идентификатор определен как AUTO_INCREMENT). Если вы используете postgres, это позволяет выполнить вставку, возвращающую идентификатор. Что-то вроде INSERT INTO customerts(...) VALUES(...) RETURNING userid
.
Но, как вы упомянули, если ваш username
уникален, я бы использовал select, используя этот атрибут после вставки, потому что он не зависит от БД.