У меня есть небольшое веб-приложение для протоколирования температуры, где градусы настраиваются на странице и сохраняются в базе данных.
Это работает, но иногда возникают спорадические ошибки у пользователей, которых я не могу воспроизвести!
Иногда в базе данных есть нулевые записи, и я не знаю, как и почему. Он «нулевает» ряд отверстий (можно выбрать несколько температур в день).
Если, например, в строке div не было выбрано temp, «NA» следует передать в db. Эта ошибка настолько устойчива, я не знаю, куда еще обратиться.
Ajax увеличивает значения, нажав на стрелку
$(".arrow_up").die('click'); $(".arrow_up").live('click',function() { var value = $("#temp_"+this.id).html(); if (value=="NA") {value=$("#istemp_"+this.id).html()} var newValue = parseInt(value)+ 1;
руки Значения для сервера
$(document).ready(function() { $('#save').die('click'); $("#save").live('click',function() { var tempA=$("#temp_itemA").html(); var tempB=$("#temp_itemB").html();
PHP должен хранить его
Я смотрю, если он не пуст или что строка null передается. Последний вызывает ошибку.
<?php if((!isset($_GET['tempA'])) || (!isset($_GET['tempB'])) || ($_GET['tempA']!='null') { echo "values are missing"; } else { error_reporting(E_ALL); try { $dbh = new PDO('sqlite:/var/www/xxx.sqlite'); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $date=date("Ymd",time()); $sql = "SELECT * FROM tableTemp WHERE date='".$date."'"; $result = $dbh->query($sql); foreach($result as $row) { $id = $row['id']; } if (!empty($id)) { $sql = "UPDATE tableTemp SET tempA='".$_GET['tempA']."',tempB='".$_GET['tempB']"'"; $result = $dbh->query($sql); } else { $sql = "INSERT INTO tableTemp ('tempA','tempB')"; $result = $dbh->query($sql) ?>
Я имею в виду, это так же просто, как и получается. Я могу только представить, что ошибки trasmitting могут иметь какое-то отношение к WIFI и потерю пакетов.
Как я могу прекратить вставлять (отбрасывать) эту надоедливую нулевую строку в db и выкидывать ошибку, чтобы пользователь снова попытался? Мой! Isset не работает, поскольку он не пуст