Я знаю много ответов, но большинство из них предназначены для дополнительных функций и дополнительных классов. Это я лично использую; намного чище и гораздо меньше строк кода!
if( document.body.className.match('category-page') ) {
console.log('yes');
}
Mattmanser прав, никогда не пишите SQL-запрос, объединяя параметры непосредственно в запросе. Пример параметризованного запроса:
string lastname = "Doe";
double height = 6.1;
DateTime date = new DateTime(1978,4,18);
var connection = new MySqlConnection(connStr);
try
{
connection.Open();
var command = new MySqlCommand(
"SELECT * FROM tblPerson WHERE LastName = @Name AND Height > @Height AND BirthDate < @BirthDate", connection);
command.Parameters.AddWithValue("@Name", lastname);
command.Parameters.AddWithValue("@Height", height);
command.Parameters.AddWithValue("@Name", birthDate);
MySqlDataReader reader = command.ExecuteReader();
...
}
finally
{
connection.Close();
}
Для тех, у кого есть аналогичная проблема с использованием PHP, попробуйте функцию utf8_encode($string)
. Это просто работает!
НИКОГДА, НИКОГДА, НИКОГДА не создавайте такой оператор SQL. Это широко открытое для SQL-инъекции.
Я добавляю это как ответ, так как это такая фундаментальная ошибка, что вам, вероятно, придется переписать большую часть вашей программы.
Это не то, как вы поставляете параметры в оператор SQL, и не стоит никого отвечать на ваш вопрос, поскольку вы должны использовать параметризованные запросы, которые, вероятно, также помогут устранить вашу проблему.