Я думаю, что самый простой способ сделать это - создать цикл для сравнения каждого значения с другим. Пока есть разрыв в «цепочке», тогда он вернет false. Если первое равно второму, второе равно третьему и так далее, то мы можем заключить, что все элементы массива равны друг другу.
заданы данные массива [], затем вы можете использовать:
for(x=0;x<data.length - 1;x++){
if (data[x] != data[x+1]){
isEqual = false;
}
}
alert("All elements are equal is " + isEqual);
Если таблицы cols и значения являются переменными, то существует два способа:
С двойными кавычками ""
полный запрос:
$query = "INSERT INTO $table_name (id, $col1, $col2)
VALUES (NULL, '$val1', '$val2')";
Или
$query = "INSERT INTO ".$table_name." (id, ".$col1.", ".$col2.")
VALUES (NULL, '".$val1."', '".$val2."')";
С одинарными кавычками ''
:
$query = 'INSERT INTO '.$table_name.' (id, '.$col1.', '.$col2.')
VALUES (NULL, '.$val1.', '.$val2.')';
Использовать обратные тики ``
, когда имя столбца / значения похоже на зарезервированное ключевое слово MySQL.
Примечание: Если вы указываете имя столбца с именем таблицы, используйте обратные тики следующим образом:
`table_name`
. `column_name`
& lt; - Примечание: исключить .
из обратных тиков.
Здесь было много полезных ответов, в целом достигающих высшей точки в два пункта.
BACKTICKS(
) `используются вокруг имен идентификаторов. QUOTES(')
используются вокруг значений. И как @MichaelBerkowski сказал
Backticks должны использоваться для идентификаторов таблиц и столбцов, но необходимы только тогда, когда идентификатор является
blockquote>MySQL
зарезервированным ключевое слово или когда идентификатор содержит символы пробела или символы за пределами ограниченного набора (см. ниже) Часто рекомендуется избегать использования зарезервированных ключевых слов в качестве идентификаторов столбцов или таблиц, если это возможно, во избежание проблемы с кавычками.Существует случай, когда идентификатор не может быть зарезервированным ключевым словом или содержать символы whitespace или за пределами ограниченного набора , но обязательно требует обратных ссылок вокруг их.
ПРИМЕР
123E10
является допустимым именем идентификатора, а также действительнымINTEGER
литералом.[Не вдаваясь в подробности, как вы могли бы получить такое имя идентификатора] Предположим, что я хочу создать временную таблицу с именем
123456e6
.Нет ОШИБКИ на обратных циклах.
DB [XXX]> create temporary table `123456e6` (`id` char (8)); Query OK, 0 rows affected (0.03 sec)
ОШИБКА, если вы не используете обратные ссылки.
DB [XXX]> create temporary table 123451e6 (`id` char (8)); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '123451e6 (`id` char (8))' at line 1
Однако
123451a6
[* g15]DB [XXX]> create temporary table 123451a6 (`id` char (8)); Query OK, 0 rows affected (0.03 sec)
Это полностью, потому что
1234156e6
также является показательным номером.
Помимо всех (хорошо объясненных) ответов, не было упомянутых ниже, и я часто посещаю этот Q & amp; A.
В двух словах; MySQL думает, что вы хотите сделать математику в своей таблице / столбце и интерпретируете дефисы, такие как «электронная почта», как e
минус mail
.
Отказ от ответственности: Поэтому я думал, что добавлю это как ответ типа «FYI» для тех, кто совершенно не знаком с работой с базами данных, и которые могут не понимать уже описанные технические термины.
В основном в Mysql, эти типы идентификаторов используются в запросах `
, "
, '
и ()
.
"
или '
используйте для включения строки как значения "26-01-2014 00:00:00"
или '26-01-2014 00:00:00'
. Этот идентификатор используется только для строковой неагрегатной функции, такой как now() or sum ,max
и т. Д. `
использовать для включения таблицы таблицы или таблицы, например. выберите column_name
из table_name
, где id = '2' ()
используются только для того, чтобы просто заключить части запроса, например. выберите column_name
из table_name
где (id = '2' и gender = 'male') или name = 'rakesh'. Одиночные кавычки должны использоваться для строковых значений, например, в списке VALUES ().
Backticks обычно используются для указания идентификатора, а также могут быть безопасны из-за случайного использования зарезервированных ключевых слов.
В сочетании PHP и MySQL двойные кавычки и одинарные кавычки значительно упрощают время записи запросов.
В MySQL есть два типа кавычек:
'
для включения строковых литералов `
для включения идентификаторов, таких как имена таблиц и столбцов И тогда есть "
, который является частным случаем. Он может быть использован для one вышеупомянутых целей за раз в зависимости от сервера MySQL sql_mode
:
"
может использоваться для вложения строковых литералов точно так же, как '
ANSI_QUOTES
символ "
может использоваться для заключите идентификаторы так же, как `
SELECT "column" FROM table WHERE foo = "bar"
Запрос будет выбирать строковый литерал "column"
, где column foo
равен строке "bar"
В запросе будет выбран столбец column
где столбец foo
равен столбцу bar
"
, чтобы ваш код не зависел от SQL mode В сочетании PHP и MySQL двойные кавычки и одинарные кавычки значительно упрощают время написания запросов.
$query = "INSERT INTO `table` (`id`, `col1`, `col2`) VALUES (NULL, '$val1', '$val2')";
Теперь предположим, что вы используете прямую переменную post в MySQL-запросе, тогда используйте ее следующим образом:
$query = "INSERT INTO `table` (`id`, `name`, `email`) VALUES (' ".$_POST['id']." ', ' ".$_POST['name']." ', ' ".$_POST['email']." ')";
Это лучшая практика для использования переменных PHP в MySQL.
-
, но цитирование необходимо, если не указаны разделители dev.mysql.com/doc/refman/5.7/en/date-and-time-literals.html – Michael Berkowski 12 April 2016 в 15:03