2014-02-11 2 views
0

Я создаю приложение в телефонной запинке и пытаюсь проверить мое условие, если «имя пользователя» (пример) существует в локальной базе данных моей базы данных, но у меня нет успеха.Как проверить данные в моем db sqlite

if(getUser(document.getElementById('username').value)){ 
... 
} else{ 
...//always keeping going here 
} 

function getUser(username) { 
    db.transaction(function(tx) { 
     try { 
     tx.executeSql('SELECT id FROM user where username = ?', [username], function(tx, results) { 
      if(results.rows.length > 0) { 
      return true); 
       } else { return false; } 
      }); 
     } catch(e){} 
    }); 
} 
+0

Пришел из тега SQLite. Javascript - это не моя сильная сторона, но ваши фигурные скобки и parens не кажутся сбалансированными. Это компилируется и выполняется без ошибок? – rutter

+0

Да. Он указывает, что имя пользователя не найдено, как я уже сказал, это был пример. у реального есть тонны линий. – fsi

ответ

2

Не забывайте: executeSql является асинхронным запросом. Означает, что ваша функция getUser заканчивается, прежде чем получить результат по вашему запросу. И у вас нет значения возврата, поэтому ваша функция возвращается false

<script> 
function test() {} 

if (test()) 
    console.log('true'); 
else 
    console.log('false') 
</script> 
+0

Можете ли вы дать мне предложение/совет проверить/проверить, существует ли пользователь в базе данных? – fsi

+0

еще не пробовал, но посмотрите это сообщение: http: //stackoverflow.com/a/12060506/1083906 – star

Смежные вопросы