我是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>
答案 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."' )