将字符串保存到数据库

4

我想要将一个字符串 $id = "27491"; 存入数据库表格 users 的一个名为 user id 的字段中,以下是我目前尝试过的代码,但它并没有起作用...

mysqli_query($DB,"INSERT INTO `users` SET `id` = '".$id."'");

输入图像描述

编辑: 内容没有保存到数据库中,之前的问题只是一个拼写错误。

同时也无法使用我的$title字符串。

mysqli_query($DB,"INSERT INTO `users` SET `title` = '".mysqli_real_escape_string($DB,$title)."'");

你遇到了什么错误?你需要给我们更多的信息和发现,而不是只说“不工作”。 - pTi
你的表格结构是什么? - Kausha Mehta
4
user id 中真的有空格吗? - user557846
你的语句缺少右括号,请检查一下 @Dagon 所说的内容。 - Sanchit Gupta
1
为什么不使用预处理语句和参数化查询(正如您的用户名所示,占位符)? - chris85
3个回答

7

您的代码中括号没有正确闭合...

mysqli_query($DB,"INSERT INTO `users` SET `user id` = '".$id."'");

像这样做:INSERT INTO users VALUES (NULL,'哈希值','标题值',...); - Waqas Shahid
这个也不起作用... mysqli_query($DB,"INSERT INTO usersSET title = '".mysqli_real_escape_string($DB,$title)."'") ... - Placeholder

7
您可以像下面这样使用,再给您一个建议,最好不要在字段名中使用空格。因此,您可以使用"user_id"之类的字段名,这样更好。
mysqli_query($DB,"INSERT INTO `users` SET `user id` = '".$id."'");
//                                                              ^ you miss

或者

mysqli_query($DB,"INSERT INTO `users` (`user id`) VALUES('".$id."')";

所以,你可以使用字段名称如 user_id,这是没有问题的。 - Kausha Mehta
这真的一点也没有帮助我...它没有返回错误,只是根本没有将信息提交到表中。``user id = '".mysqli_real_escape_string($DB,$id)."', 我也尝试了这个,但仍然不起作用?请帮忙吗? - Placeholder
@占位符 你能否请发布你的表结构,并将第一个user id更改为user_id - Kausha Mehta
@占位符 您将id字段设置为自动增量,因此无法添加该字段。 - Kausha Mehta
@占位符 您可以使用类似于 mysqli_query($DB,"INSERT INTO users SET hash = 'test hash', title = 'test title', image = 'test image', content = 'test content'"); 的语句。 - Kausha Mehta

0
请尝试这个。我希望这能帮到你。 将你的查询改为 -
mysqli_query($DB,"INSERT INTO `users` SET `title` = ".mysqli_real_escape_string($DB,$title));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接