Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将行单元格更新为旧值_Php_Mysql_Database - Fatal编程技术网

Php 将行单元格更新为旧值

Php 将行单元格更新为旧值,php,mysql,database,Php,Mysql,Database,问题已修复:浏览器正在缓存GET请求。在jQuery中添加一个随机值可以解决这个问题。例如: $.get(templateDir + "/inc/quote-update.php", { FlightID: FlightID, returnorigin: valuefrom, returndestination: valueto, returnpax: valuepax, returndate: valueret, "_": $.now()}, 我到处寻找解决办法,但找不到。我道歉,如果这已经

问题已修复:浏览器正在缓存GET请求。在jQuery中添加一个随机值可以解决这个问题。例如:

$.get(templateDir + "/inc/quote-update.php", { FlightID: FlightID, returnorigin: valuefrom, returndestination: valueto, returnpax: valuepax, returndate: valueret, "_": $.now()},
我到处寻找解决办法,但找不到。我道歉,如果这已经张贴过

问题是这个。当用户访问该网站时,他们会搜索航班。详细信息存储在数据库中。这个很好用

然后,用户可以更改和添加航班。这很好用——除了乘客人数

出于某种原因,我在更新乘客数量字段时遇到了一个奇怪的错误。如果将该值更改为以前的值,则不会更新。如果将其更改为以前未更改的值,则将成功更新

例如,如果用户最初为6名乘客搜索一个航班,然后将其更改为4名乘客-他们不能再将其更改回6名乘客。但是,他们可以将其更改为3、5或7等

以下是我在phpmyadmin中设置字段的方式:

4   pax bigint(20)      UNSIGNED    No  None
这是我的代码:

<?php

    $FlightID = isset($_GET["FlightID"]) ? $_GET['FlightID'] : null;

    $db = new PDO('mysql:host=localhost;dbname=databasename', 'database-table', 'afgafha', array(PDO::ATTR_EMULATE_PREPARES => false, 
                                                                                                    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    // Start a counter for errors
    $error = 0;

    if (!is_null($FlightID)) {

            $stmt = $db->prepare("SELECT * FROM database-table WHERE FlightID = ?");
            $stmt->execute(array($FlightID));

            if ($stmt->rowCount() <= 0){ 

                        // Do Nothing //

                                        } elseif ($stmt->rowCount() == 1){      

                                                        $origin = isset($_GET['origin']) ? $_GET['origin'] : null;
                                                        $destination = isset($_GET['destination']) ? $_GET['destination'] : null;
                                                        $pax = isset($_GET['pax']) ? $_GET['pax'] : null;       
                                                        $depdate = isset($_GET['depdate']) ? $_GET['depdate'] : null;                   


                                                            if (!is_null($origin) && !is_null($destination) && !is_null($pax) && !is_null($depdate)){

                                                                    $data = array($origin, $destination, $depdate, $pax, $FlightID);  
                                                                    $stmt = $db->prepare("UPDATE database-table SET origin=?, destination=?, depdate=?, pax=? WHERE FlightID=?");
                                                                    $stmt->execute($data);

                                                                    $affected_rows = $stmt->rowCount();

                                                                    echo $affected_rows.' were affected';
                                                                    print_r ($data);

                                                            } else {
                                                                    // Validation failed
                                                                    $error++;
                                                            }

                                        } else { 
                                                $error++;           
                                        }
    } else {
            $error++;
    }
    if($error > 0) {

    }
    ?>

有人有什么想法吗?如果这真的是一个noob问题,我很抱歉,但这是我第一次亲自制作PHP/SQL应用程序


提前-谢谢

wpdev_航班是如何定义的?我想这可能和你的主键有关。。。运行脚本几次后,表的外观如何?对于单个FlightID,表中是否有多行?
如果出现一行以上,这可以解释该行为。如果存在与值匹配的行,则更新将不会执行任何操作。

可能这很愚蠢,但是您的表中有
pax
Rpax
字段,并且您正在更新php代码中名为
returnpax
的字段

编辑:

$.get(templateDir + "/inc/quote-update.php", { FlightID: FlightID, returnorigin: valuefrom, returndestination: valueto, returnpax: valuepax, returndate: valueret, "_": $.now()},

为了共享这些信息,您可以在JQuery调用中使用
cache:false
设置来避免缓存。它的功能基本上与您使用
$.now()
所做的相同,但对我来说听起来更干净。很高兴你解决了这个问题。

这会给你带来任何错误吗?或者它只是保持行不变?mysql日志是否显示了一些内容?您是否尝试过不使用php直接运行
更新
。我无法访问我的mysql日志:(在没有PHP的情况下,在phpmyadmin中执行此操作时,它始终有效。此外,如果您查看控制台,您可以看到AJAX也总是向PHP脚本发送正确的值,因此这里没有混淆。因此,我99%确定问题在于我上面的代码。通过phpmyadmin运行的查询与通过PHP发送的查询相同吗?如何它被定义了吗?它只是一个表,所以我不确定你的意思,我忘了对那个位进行置乱,如果你看我的PDO语句,上面说“sfshsfh”的位就是“wpdev_flights”因此,这可能会造成混乱。该表看起来与以前完全相同,没有重复或类似的内容,没有多行具有相同ID。他询问的是
CREATE wpdev\u flights
语句,因此我们可以看到表字段的确切定义。我在phpmyadmin中手动创建了该表。我是否只需要从phpmyadmin复制并粘贴结构?这是我的结构,希望有帮助。字段“pax”和“Rpax”是问题所在,正如您所看到的,我试图修改如何设置pax字段。嗯。如果“从数据库表中选择COUNT(*),其中FlightID='someID'”总是给0或1我在这里不知所措。抱歉。好的地方!但我不认为这是问题所在。我已经向您展示了更新回程航班的代码,更新单程航班的代码是相同的,但不是Rpax它只是pax,我只是检查了更新的代码,它还显示了“pax”。因此,该代码是正确的,但由于某些原因,我为返回的pax编写了错误的代码。希望这是有意义的,并为混淆感到抱歉。编辑:我已在代码中修复了该代码,并在上面替换了它。谢谢。好的,您有两个类似的函数,一个更新
pax
,另一个更新
Rpax
,这两个函数都是正确编写的d发布代码中的错误只是一个输入错误?另外,我仍然想知道您是否有错误或只是一个“未触及”的行。是的:)给你一个活生生的例子好吗?来这里吧:在那次航班上,第一段的乘客号原来是4。我把它改成了6。我现在不能把它改回4。就我所能看到的而言,也没有错误消息。我试着来回更改了几次,它总是给我“更新成功”显示了正确的乘客数量。你是说在DB中情况有所不同吗?我可以看到你有,现在我更困惑了。目前它在“4”上。我现在无法将它改回6,无论我做什么。不,数据库也总是显示相同的。