MySQL "UPDATE" 语法在列中输入 0
MySQL "UPDATE" syntax is entering 0 in column
如果使用 if 条件,我正在尝试使用 PDO 进入 table。我的函数代码如下:
function add_user_info($conn, $user, $info, $fName, $sName, $past, $pos){
// Prepare and execute statements
$info1 = addslashes($info);
$sql = $conn->prepare("SELECT * FROM `User_Info` WHERE `User` = '$user'");
$sql->execute();
if ($sql->fetch()){
// Update current entry
$sql1 = $conn->prepare("UPDATE `User_Info` SET `Info` = '$info1' AND `Past` = '$past' AND `Position` = '$pos' WHERE `User` = '$user'");
} else {
// Create new entry
$sql1 = $conn->prepare("INSERT INTO `User_Info` (`User`, `Info`, `FName`, `SName`, `Past`, `Position`) VALUES ('$user', '$info1', '$fName', '$sName', '$past', '$pos')");
}
$sql1->execute();
}
唯一(我再说一遍,唯一)对我不起作用的部分是第 9 行的更新查询。我已将问题缩小到与 Info
列的更新相关,不仅如此,它还是字符串的问题,因此变量 $info1.
我正在尝试从 CKEditor 中传入一串文本。它是一个富文本字符串,因此在传递给 SQL.
时其中包含 HTML 标签、引号等
table 中行的初始创建(函数的第 12 行)完美无缺,因此只有在更新时字符串才会被视为有趣。当我用一个词代替 $info1 进行更新时,它仍然不起作用。
如phpmyadmin中所示,我的table架构如下:
更新命令多集被,
分隔而不是and
UPDATE `User_Info`
SET
`Info` = '$info1' ,
`Past` = '$past' ,
`Position` = '$pos'
WHERE `User` = '$user'"
将AND
更改为,
$sql1 = $conn->prepare("UPDATE `User_Info` SET `Info`='$info1', `Past`='$past', `Position`='$pos' WHERE `User`='$user'");
如果使用 if 条件,我正在尝试使用 PDO 进入 table。我的函数代码如下:
function add_user_info($conn, $user, $info, $fName, $sName, $past, $pos){
// Prepare and execute statements
$info1 = addslashes($info);
$sql = $conn->prepare("SELECT * FROM `User_Info` WHERE `User` = '$user'");
$sql->execute();
if ($sql->fetch()){
// Update current entry
$sql1 = $conn->prepare("UPDATE `User_Info` SET `Info` = '$info1' AND `Past` = '$past' AND `Position` = '$pos' WHERE `User` = '$user'");
} else {
// Create new entry
$sql1 = $conn->prepare("INSERT INTO `User_Info` (`User`, `Info`, `FName`, `SName`, `Past`, `Position`) VALUES ('$user', '$info1', '$fName', '$sName', '$past', '$pos')");
}
$sql1->execute();
}
唯一(我再说一遍,唯一)对我不起作用的部分是第 9 行的更新查询。我已将问题缩小到与 Info
列的更新相关,不仅如此,它还是字符串的问题,因此变量 $info1.
我正在尝试从 CKEditor 中传入一串文本。它是一个富文本字符串,因此在传递给 SQL.
时其中包含 HTML 标签、引号等table 中行的初始创建(函数的第 12 行)完美无缺,因此只有在更新时字符串才会被视为有趣。当我用一个词代替 $info1 进行更新时,它仍然不起作用。
如phpmyadmin中所示,我的table架构如下:
更新命令多集被,
分隔而不是and
UPDATE `User_Info`
SET
`Info` = '$info1' ,
`Past` = '$past' ,
`Position` = '$pos'
WHERE `User` = '$user'"
将AND
更改为,
$sql1 = $conn->prepare("UPDATE `User_Info` SET `Info`='$info1', `Past`='$past', `Position`='$pos' WHERE `User`='$user'");