带有变量的PHP代码不是UPDATING MySQL db

时间:2018-02-24 04:02:06

标签: php mysql

我是MySQL / PHP的新手(使用XAMPP)。我已经尝试了我在这里看到的每个推荐代码,但似乎没有任何工作....

我有一个3列,19行的文本框表(row1Field1,Row1,field2,row1Field3等)

我正在尝试更新我的数据库以查找每行(几乎)都有记录的记录

我知道没有真正的SQL注入保护。在这一点上,这不是问题。这完全是我个人的笔记本电脑和很可能永远不会看到互联网。

这是我的系数,99%每次都有效。 UPDATE没有。

<?php require '../connect/connect.php';  //connects the db (10 pages so far - all works
// Start the session
session_start();
$wk2Use = $_SESSION["wk2Use"];
?>

<html>
    <body>
        <?php

        $f="";
        $s=0;
        $p=0;

        for($i=1; $i <= 19; $i++) {
            $f = "gm" . $i . "Fav";
            $s = "gm" . $i . "Sprd";
            $p = "gm" . $i . "Pts";
            $f = htmlspecialchars($_POST[$f]);
            $s = htmlspecialchars($_POST[$s]);
            $p = htmlspecialchars($_POST[$p]);

            if (!empty($f)) {
                //This displays the correct data!
                echo 'Wk-' . $wk2Use . '  ' . $f . ' ' . $s . ' ' . $p . '<br>';            


                //This does NOT work
                $sql = ("USE bbschdefs; UPDATE bbschdefs SET sSchFav='".$f."', sSchSprd=$s, sSchOUPts=$p 
                        WHERE ((sSchVTAbrv='".$f."' OR sSchHTAbrv='".$f."') AND schWk=$wk2Use )");
                $result = mysqli_query($dbconn,$sql);           
            }
        }   
        $i=0;

        include '../predictions/predict.php' 

        ?>

    </body>


</html>

1 个答案:

答案 0 :(得分:0)

我不得不猜测是因为您的变量$wk2Use未正确添加到您的where子句中

WHERE ((sSchVTAbrv='".$f."' OR sSchHTAbrv='".$f."') AND schWk=$wk2Use )

应该是

WHERE ((sSchVTAbrv='".$f."' OR sSchHTAbrv='".$f."') AND schWk='{$wk2Use}' )

OR

WHERE ((sSchVTAbrv='".$f."' OR sSchHTAbrv='".$f."') AND schWk='".$wk2Use."' )