Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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更新SQL_Php_Html - Fatal编程技术网

使用文本框和按钮从PHP更新SQL

使用文本框和按钮从PHP更新SQL,php,html,Php,Html,我只是想创建一个主页,在那里我们可以输入里程命中更新,它抓取车辆,然后将当前日期推送到数据库 我下面的代码显示正确,除了可能将数字格式化为a之外,但这不是必需的 当我点击update时,我在第60行的/var/www/html/Oil/cars.php中得到了一个通知:未定义变量:里程 也许我没有正确地通过里程数?您没有提供实际值=in,所以在提交$u POST['miliness']时;是空的,您将收到通知。在您的代码中 正如你所说,第59行和第60行是: $milage=$_POST[‘里程

我只是想创建一个主页,在那里我们可以输入里程命中更新,它抓取车辆,然后将当前日期推送到数据库

我下面的代码显示正确,除了可能将数字格式化为a之外,但这不是必需的

当我点击update时,我在第60行的/var/www/html/Oil/cars.php中得到了一个通知:未定义变量:里程


也许我没有正确地通过里程数?

您没有提供实际值=in,所以在提交$u POST['miliness']时;是空的,您将收到通知。

在您的代码中

正如你所说,第59行和第60行是:

$milage=$_POST[‘里程数’]; 打印$里程; 您正在将表单字段中的值指定给$milage,但您正在尝试打印名为$Miledge的变量。检查拼写。他们是不同的。因此,您试图打印的变量显然是未定义的

将代码更改为

$里程=$_POST['里程]; 打印$里程;
尽管如此,这只是一个打字错误。这会导致大量调试时间。所以,试着理解错误,问题就会在它旁边,或者至少会有某种联系

最后我遇到了两个拼写问题,然后在数据库中遇到了权限错误。
在按计划完成所有工作后

第60行在哪里?通知是打印的还是复制粘贴的?也许$row['milage']是行,应该是里程?请澄清问题。这里的HTML看起来也很旧。@HarishST第59行和第60行将是$milage=$\u POST['Miledge'];打印$里程@user3783243我确实把它搞糟了是的,就html而言,修复了相同的错误我不确定需要更改什么,因为这就是我所知道的全部问题。这个问题解决了吗?下面有几个答案。@kelvin是的,我只是不能接受我自己的答案。最后出现了一些拼写错误,需要将DB的所有权分配给Apache,更具体地说,www dataSo会是这样的:?是的,然后$_POST['miliety']将等于'Text',遗憾的是,这不是问题所在。我的字典有点拼写错误end@Ron否。它不会导致通知索引未定义。它将打印一个长度为0的字符串,也就是说,。这很有效,但现在我得到通知:第71行的/var/www/html/Oil/cars.php中的数组到字符串转换失败:数组00000:/71行中的代码是什么?如果是,请提及第70行和第71行中的代码$结果=$db2->prepare$sql{echo prepare失败:.$db->errorInfo..$db->errorCode;尝试echo prepare失败:;print_r$db->errorInfo;print_r$db->errorCode;而不是echo prepare失败:.$db->errorCode;这也不是问题。我的拼写错误日期应该是changeDate
<link href="status.css" rel="stylesheet">
<body bgcolor = #000000>
<font color = "white">

<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
 <META HTTP-EQUIV="refresh" CONTENT="86400"><style>
        body { 
            animation: fadeInAnimation ease 3s; 
            animation-iteration-count: 1; 
            animation-fill-mode: forwards; 
        } 
        @keyframes fadeInAnimation { 
            0% { 
                opacity: 0; 
            } 
            100% { 
                opacity: 1; 
            } 
        } 
    </style>
</head>

<center>
<font color = "red">




<?php
try {

    $db = new PDO("sqlite:/var/www/html/Oil/Vehicles.db");
    print "<center><table border=10 bordercolorlight=#383838 bordercolordark=Gray>";
    print "<tr><td class='toprow'><u>Vehicle</u></td><td class='toprow'><u>Mileage</u></td><td class='toprow'><u>Filter Size</u></td><td class='toprow'><u>Oil Capacity</u></td><td class='toprow'><u>Oil Type</u></td><td class='toprow'><u>Change Date</u></td><td class='toprow'><u>New Miles</u></td><td class='toprow'><u>Update</u></td></tr>";
    $result2 = $db->query('SELECT * FROM Cars');

    foreach ($result2 as $row) {

        print '<tr><td>' . $row['vehicle'] .'</td>';
        print "<td>" . $row['mileage'] . "</td>";
        print '<td>' . $row['filter'] .'</td>';
        print '<td>' . $row['oilCap'] .'</td>';
        print '<td>' . $row['oilType'] .'</td>';
        print '<td>' . $row['changeDate'] .'</td>';
    print '<td><form action="" method="POST"><input type="Text" name= "mileage"/><input type="hidden" name="vehicle" value="' .$row['vehicle']. '"/></td>';
    print '<td><button class="btn btn-default" type="submit" name="update">Update</button></form></td></tr>';
    }
    print "</table></center>";

} catch (PDOException $e) {
    echo $e->getMessage();
}
if (isset($_POST['update'])) {
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    $mileage = $_POST['mileage'];
    print $mileage;
    $vehicle = $_POST['vehicle'];
    print $vehicle;
    $change = date("m/d/Y");
    print $change;

    $sql = "UPDATE cars SET mileage = :mileage, chageDate = :change WHERE vehicle = :vehicle";

    try{
            $db2 = new PDO("sqlite:/var/www/html/Oil/Vehicles.db");
        if (!($results = $db2->prepare($sql))){
            echo "Prepare failed: (" . $db->errorInfo() . ") " . $db->errorCode();
        }elseif (!$results->bindValue(':mileage', $mileage)){
            echo "Binding parameters failed: (" . $results->errorInfo() . ") " . $results->errorCode();
        }elseif (!$results->bindValue(':change', $change)){
            echo "Binding parameters failed: (" . $results->errorInfo() . ") " . $results->errorCode();
        }elseif (!$results->bindValue(':vehicle', $vehicle)){
            echo "Binding parameters failed: (" . $results->errorInfo() . ") " . $results->errorCode();
        }elseif (!$results->execute()) {
            echo "Execute failed:\n";
            print_r($results->errorInfo());
        }else{
            $count = $results ->rowCount();
            if($results ->rowCount() == 0)
                echo 'Error';
            else
                echo 'Changed!';
        }

        } catch (PDOException $e) {
            echo $e->getMessage();
        }

}

?>