尝试插入或更新时,没有任何内容进入数据库。这是表格布局
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`thesis_Name` varchar(200) NOT NULL,
`abstract` varchar(200) NOT NULL,
`complete` int(2) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
)
如您所见,id 是唯一键。user_id 是会话查看的内容。我希望 user_id 有可能有两行,因此只有 id 应该是唯一的,因此这应该是在插入还是更新时要查找的键。这是我一直在使用的:
if (empty($err)) {
$id= mysql_real_escape_string($_POST['id']);
$thesis_Name = mysql_real_escape_string($_POST['thesis_Name']);
$abstract = mysql_real_escape_string($_POST['abstract']);
$user_id = intval($_SESSION['user_id']);
$query = sprintf("
INSERT INTO
`thesis`(`id`,`user_id`, `thesis_Name`, `abstract`)
VALUES
('%s','%s', '%s', '%s')
ON DUPLICATE KEY UPDATE
`thesis_Name` = VALUES(`thesis_Name`),
`abstract` = VALUES(`abstract`)
", $id, $user_id, $thesis_Name, $abstract);
如果没有办法,那么 user_id 也可以是唯一的,每个用户只有 1 行