我的代码:if (isset($_POST['del'])) { foreach ($_POST['del'] as $id){ if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `̌id` = ?")) { $stmt->bind_param('i', $id); $stmt->execute(); } else { printf("Errormessage: %s<br>", $mysqli->error); } }}结果:Errormessage: Unknown column '̌id' in 'where clause'$_POST['del']包含来自表单复选框的整数。但是,这与先前的相同连接一起使用,并且可以正常工作:$modified = arrayRecursiveDiff($_POST, $data);foreach($modified as $key => $val_arr) { if (!is_array($val_arr)) {continue;} foreach ($val_arr as $iteration => $val) { $id = $iteration + 1; $query = 'UPDATE users SET '. $key .'="'. $val .'" WHERE id = '. $id; if (preg_match('/.*\sdel\=.*/',$query) === 0){ $mysqli->query($query); } }}最有趣的是,我试图回显该查询并将其直接复制到mysql命令提示符中。效果很好...如果有人对这里可能发生的问题有一个答案,我将不胜感激, 最佳答案 似乎有些怪异的字符(编辑:请查阅脚注)类似于id之前的反引号,但实际上并非如此。我还无法从编辑器中确切得知。 (编辑:查阅脚注)更改此行:if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `̌id` = ?")) {至if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `id` = ?")) {编辑在您使用更新的代码编辑问题之后,我刚刚再次进入编辑模式(美国东部时间下午11:00),我将查询行复制/粘贴到了编辑器中,并且在第一个反引号和。if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `̌id` = ?")) { ^^将实际代码复制/粘贴到文件中。但是我很想知道您使用的是哪个文件编辑器导致此问题,或者您是手动键入此文件?if (isset($_POST['del'])) { foreach ($_POST['del'] as $id){ if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `id` = ?")) { $stmt->bind_param('i', $id); $stmt->execute(); } else { printf("Errormessage: %s<br>", $mysqli->error); } }}脚注:从我在编辑器中找到的内容来看,似乎(id)之前是这个(unicode)字符‎Unicode十六进制:8206Unicode十进制:33286UTF-8十六进制:e88886HTML实体:舆情资料来源:http://www.htmlescape.net/82/character_8206.html或来自以下内容:http://en.wikipedia.org/wiki/Left-to-right_mark我引用:“ LRM使得标点符号仅与LTR文本(“ C”和LRM标记)相邻,因此其位置就好像它在从左到右的文本中一样,即在前一个文本的右边某些软件可能需要id或‎而不是不可见的Unicode字符本身;实际的不可见字符也会使复制编辑变得困难。”补充说明:我最初在进行Google搜索时发现的关于该主题的Wikipedia信息将我带到this page,将我带到了我在上面发布的The Wikipedia page。原始问题中的另一个Unicode字符是‎在unicodemap.org中,我引用:̌"Unicode Character Map - 0x036F (a.k.a. "̌")"Unicode Hexadecimal: 0x030CUnicode Decimal: 780UCS-2 Hexadecimal: 0x0C03UCS-2 Decimal: 3075HTML Hexadecimal: ̌字符(可能很难看):̌