在数据库$ _GET零星不必要的空条目条目、不必要、数据库、_GET

由网友(晚安晚安°越晚越不安)分享简介:我有一点点温度protocoling Web应用程序,在那里度得到调整页面上,并保存在数据库中。I have a little temperature protocoling web app, where degrees get adjusted on a page and saved in a database....

我有一点点温度protocoling Web应用程序,在那里度得到调整页面上,并保存在数据库中。

I have a little temperature protocoling web app, where degrees get adjusted on a page and saved in a database.

它的工作原理,但是从用户,我不能重现时有发生偶发性错误!

It works, but sometimes sporadic errors occur from users which I can't reproduce!

有时在数据库空项,我不知道如何和为什么。这空的孔排(每天几个温度可选)。

如果如没有温度得到了在一个div字符串NA应交给分贝选择。此错误是如此有弹性,我不知道还有什么地方转向。

If e.g. no temp got selected in a div string "NA" should be handed to the db. This bug is so resilient, I don't know where else to turn to.

阿贾克斯点击箭头增加值的

$(".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有存储它的

我看,如果它不是空的,也不该字符串空被移交。最后一个动作错误。

I look if it isn't empty nor that the string null gets handed over. Last one throws Error.

<?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("Y-m-d",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和数据包丢失。

I mean, this is as simple as it gets. I can only imagine the trasmitting errors might have something to do with WIFI and packet loss.

我如何能停止插入(丢弃)这些讨厌的空串入数据库,并抛出一个错误,让用户再次尝试吗?我的!使用isset不起作用,因为它不是空

推荐答案

请注意这大概说明明显

但你能不能规定在DB列要求值不为空,然后赶上在插入错误

But can you not stipulate that the column in the DB requires a value that is not null then catch the error on the insert

你见过这个答案?

http://stackoverflow.com/a/2103256/1479565

阅读全文

相关推荐

最新文章