Вот что я пытаюсь сделать. У меня есть простой фрагмент кода java-скрипта, который принимает значение флажка и удаляет соответствующее из базы данных. Скажем, что у меня есть три варианта: красный, синий, желтый и красный выбраны, запись для красного будет удалена.Javascript-массив в подготовленном SQL-заявлении
Этот код идеально подходит.
var n = $('input[type=checkbox]:checked').val();
db.transaction(function (tx) {
tx.executeSql('delete from details where name = ?',[n],function(){
alert('The event is successfully deleted');
});
});
Но требование, чтобы захватить несколько выбранные параметры флажка, а также (то есть), если красные и синие цветы выбраны или все три выбраны, код должен удалял запись выбранных значений. Я могу захватить значения, выбранные в массиве, с помощью следующего фрагмента кода.
var checkboxValues = $('.myCheckbox:checked').map(function() {
return $(this).val();
}).get();
Теперь мне нужно использовать этот массив строк в инструкции SQL. Я попробовал следующий фрагмент кода, но не использовал его.
db.transaction(function (tx) {
tx.executeSql('delete from details where name in (?)',[checkboxValues],function(){
alert('The event is successfully deleted');
});
Несколько других ответов предложил мне, чтобы преобразовать объект массива в строку с разделителями-отделено с помощью ToString() и присоединиться к функции(), но те не очень помогают мне. Я сомневаюсь, что мой SQL-оператор правильный. Плз мне кто-то помогает. Заранее спасибо !!
Вы генерируете и выполняете SQL-запросы из своего javascript? Надеюсь, ваш сайт не является общедоступным. –
О, дорогой господин, если вы создаете библиотеку для выполнения SQL-запросов на стороне клиента, тогда вы позволяете своим пользователям контролировать вашу базу данных. –
@DarinDimitrov или доступен недовольным сотрудником. –