Ошибка MySQL/Apache в запросе MySQL PHP

Хотя CMS верна , что передача строк в метод разбора, как правило, небезопасна, новая спецификация ECMA-262 5th Edition (aka ES5) в разделе 15.9.4.2 предлагает что Date.parse() фактически должны обрабатывать даты в формате ISO. В старой спецификации не было такого требования. Конечно, старые браузеры и некоторые современные браузеры по-прежнему не обеспечивают эту функциональность ES5.

Ваш второй пример не является неправильным. Это указано в UTC, что подразумевается Date.prototype.toISOString(), но отображается в вашем локальном часовом поясе.

26
задан Bharathvaj Ganesan 1 March 2018 в 16:07
поделиться

10 ответов

И если это имеет значение вообще, apache@localhost не является названием учетной записи пользователя, которую я использую для вхождения в базу данных. У меня нет учетных записей пользователей с апачами имени в них вообще в этом отношении.

, Если это говорит 'apache@localhost', имя пользователя не становится переданным правильно Подключению mysql. 'апач' обычно является пользователем, который выполняет процесс httpd (по крайней мере, в основанных на Redhat системах) и если никакое имя пользователя не передается во время использования MySQL соединения, кто бы ни призывает к соединению.

, Если Вы делаете соединение правильно в своем сценарии, не в названном файле, Вы получаете ту же ошибку?

11
ответ дан dragonmantank 28 November 2019 в 07:54
поделиться

Измените включать () для требования (). , Если "connect.php" файл не может быть, требуют () d, сценарий перестанет работать с фатальной ошибкой, тогда как включают (), только генерирует предупреждение . Если имя пользователя, Вы являетесь передающими к mysql_connect () не является "апачским", неправильный путь к сценарию подключения является наиболее распространенным способом получить этот тип ошибки.

4
ответ дан Piskvor cc-by-sa 3.0 28 November 2019 в 07:54
поделиться

Не забывайте проверять свои журналы ошибок базы данных. Необходимо быть в состоянии видеть, поражаете ли Вы даже DB. Если Вы не, необходимо проверить правила брандмауэра о поле. На поле Linux можно выполнить iptables-L для получения правил списка брандмауэра.

Иначе это будет чистая проблема доступа. Сделайте "выбор * от mysql.user", чтобы видеть, настраивается ли апачский пользователь даже там. Далее, я рекомендовал бы создать учетную запись специально для Вашего приложения в противоположность использованию апача, так как любое другое приложение, которое Вы создаете, будет работать как апач по умолчанию и могло получить несанкционированный доступ к Вашему дб.

Просто ищут "ПРЕДОСТАВЛЕНИЕ" в документации dev.mysql.com для получения большего количества информации, Если Вы имеете более определенные вопросы относительно дб, просто редактируете Ваш вопрос, и я буду смотреть.

2
ответ дан Zak 28 November 2019 в 07:54
поделиться

connect.php сценарий на самом деле устанавливает связь, или это просто определяет функцию, которую необходимо вызвать для создания соединения? Ошибка, которую Вы получаете, является симптоматической для не наличия ранее установленного соединения вообще.

ЭТА: Также измените включать в то, чтобы требовать. Я подозреваю, что это на самом деле не включает файл вообще. Но включайте, может перестать работать тихо.

2
ответ дан KernelM 28 November 2019 в 07:54
поделиться

Чувак ответ является большим ПОНЯТНОЕ ДЕЛО! который, к сожалению, это взяло мне некоторое время для выяснения также. У Вас, вероятно, есть функция как dbconnect (), и Вы используете переменные из включать файла для устанавливания связи. $conn = mysql_connect ($dbhost, $dbuser, $dbpass).

Хорошо, так как это в функции, переменные из включать файла должны быть переданы функции, или иначе функция не будет знать, каковы $dbhost, $dbuser и $dbpass. Способ зафиксировать это состоит в том, чтобы сделать те переменные глобальными, таким образом, Ваши функции могут взять их. Другое решение, которое не очень безопасно, состояло бы в том, чтобы выписать Вам хост, пользователя и передать в функции mysql_connect.

Hope это помогает, но у меня была та же проблема.

2
ответ дан 28 November 2019 в 07:54
поделиться

Если действительно Вы в состоянии вставить использование тех же вызовов соединения, Ваша проблема, скорее всего, заключается в пользователе "апач", не имеющий ИЗБРАННЫЕ полномочия на базе данных. Если у Вас есть phpMyAdmin, установил Вас, может посмотреть на полномочия для пользователя в области Privileges. phpMyAdmin также делает очень легким изменить полномочия.

, Если у Вас только есть доступ к командной строке, можно проверить полномочия от mysql базы данных.

необходимо будет, вероятно, сделать что-то как:

ВЫБОР ПРЕДОСТАВЛЕНИЯ НА myDatabase.myTable 'апачу' 'localhost';

1
ответ дан NilObject 28 November 2019 в 07:54
поделиться

Только для проверки если Вы используете всего эта часть, Вы получаете ошибку?

<?php
include("../includes/connect.php");

$query = "SELECT * from story";
$result = mysql_query($query) or die(mysql_error());

Если так, сделайте Вас, все еще получают ошибку, если Вы копируете и вставляете одну из тех Вставок в эту страницу, я пытаюсь видеть, локально ли это для страницы или что фактическая строка.

кроме того, может Вы отправлять копию вызовов соединения (минус пароли), если вставки не используют точно тот же синтаксис в качестве этого примера.

1
ответ дан Markus Safar 28 November 2019 в 07:54
поделиться

Только для проверки при использовании просто этой части Вы получаете ошибку?

Если так, сделайте Вас, все еще получают ошибку, если Вы копируете и вставляете одну из тех Вставок в это> страница, я пытаюсь видеть, локально ли это для страницы или что фактическая строка.

кроме того, может Вы отправлять копию вызовов соединения (минус пароли), если вставки> не используют точно тот же синтаксис в качестве этого примера.

Вот то, что находится в connection.php файле. Я связался с файлом посредством того, чтобы включать в тот же вид как, где я выполняю Запросы на вставку в другом месте в коде.

$conn = mysql_connect("localhost", ******, ******) or die("Could not connect");
mysql_select_db("adbay_com_-_cms") or die("Could not select database");

я попробую рабочий Запрос на вставку в этой области для проверки этого.

относительно других отправляющих о доступе пароля. Я, как указано в моей первой регистрации, действительно проверял полномочия. Я использовал phpMyAdmin, чтобы проверить, что полномочия для учетной записи пользователя, которую я использовал, были корректны. И если это имеет значение вообще, apache@localhost не является названием учетной записи пользователя, которую я использую для вхождения в базу данных. У меня нет учетных записей пользователей с апачами имени в них вообще в этом отношении.

1
ответ дан Markus Safar 28 November 2019 в 07:54
поделиться

Апачский пользователь требует, чтобы пароль соединился с базой данных? Если так, тогда то, что это говорит "использование пароля: НЕТ" привел бы меня полагать, что код пытается соединиться без пароля.

, Если, однако, апачский пользователь не требует пароля, перепроверка полномочий может быть хорошей идеей (который Вы упомянули, что уже проверили). Это может все еще быть выгодно, чтобы попытаться выполнить что-то вроде этого при подсказке mysql:

GRANT ALL PRIVILEGES ON `*databasename*`.* to 'apache'@'localhost';

, Что синтаксис должен быть корректным.

Кроме этого, я столь же озадачен как Вы

1
ответ дан Dez 28 November 2019 в 07:54
поделиться

Вы можете выполнить одно из следующих действий:

  • Добавить пользователь "apache" и настройте его привилегии из phpmyadmin или с помощью mysql в оболочке
  • Скажите php запустить mysql_connect как другой пользователь, тот, у кого уже есть необходимые привилегии (но, возможно, не root), посмотрите для mysql.default_user в вашем файле php.ini.
1
ответ дан 28 November 2019 в 07:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: