gpt4 book ai didi

php - 无法使用php语句将数字输入到MySQL中

转载 作者:行者123 更新时间:2023-11-29 13:57:58 24 4
gpt4 key购买 nike

我正在开发一个网站,管理员可以在其中编辑他们已经创建的计划。他们可以单击日程表上的任何项目进行编辑。例如,他们可以单击类次开始时间,然后将他们定向到可以更新值的页面。

不幸的是,我无法让它适用于每个值。文本值似乎工作得很好,但当它是数字时我收到语法错误。

这是我用来更新的内容:

$type = $_GET['type'];
$value = $_GET['value'];
$week = $_GET['week'];
$newval = $_POST['newval'];
if(strlen($newval) > 0)
{
include '../dbinfo.php';
$type = $mysqli->real_escape_string($_POST['type']);
$week = $mysqli->real_escape_string($_POST['week']);
$tablename = $mysqli->real_escape_string("cs" . $_SESSION['squadron']);
$newval = $mysqli->real_escape_string($newval);
if((is_numeric($newval)))
{
$sql = "UPDATE $tablename SET $type=$newval WHERE week=$week";
}
else
{
$sql = "UPDATE $tablename SET $type='$newval' WHERE week=$week";
}
if($result = $mysqli->query($sql))
{
echo "Your specififed changed was completed successfully!<br>";
echo "<a href='edit.php?week=" . $week . "'>Continue editing</a>";
}
else
{
echo mysqli_error($result);
}
}

更改 sql 语句中的字符串结果:

UPDATE cs14 SET shift_1_name='Test' WHERE week=1 (this works)

更改 sql 语句中的数字结果:

UPDATE cs14 SET shift_ 1_starttime=940 WHERE week=1 (this doesn't work)

它给了我 MySQL 错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1_starttime=940 WHERE week=1' at line 1

我已经研究过这个错误,并且一遍又一遍地检查语法。它在 phpmyadmin 中也不起作用。我不知道接下来要检查什么!

任何人都可以帮我解决我的语法吗???谢谢!

最佳答案

在数字更新查询处加上引号,

$sql = "UPDATE $tablename SET $type='$newval' WHERE week='$week'";

关于php - 无法使用php语句将数字输入到MySQL中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15527541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com