我的代码:
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命令提示符中。它工作得很好......
如果有人能够回答可能出现的问题,我将不胜感激,
答案 0 :(得分:6)
似乎有一些奇怪的角色(编辑:参考脚注)类似于id
之前的反引号,但事实上并非如此。
我无法准确地告诉我的编辑。 (编辑:参考脚注)
更改此行:
if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `̌id` = ?")) {
到
if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `id` = ?")) {
在您使用更新后的代码编辑问题后我再次进入编辑模式(美国东部时间晚上11点),我将查询行复制/粘贴到我的编辑器中,并且在您的第一个反引号之间仍然存在一个奇怪的字符单词id
。
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);
}
}
}
从我在编辑器中找到的内容来看,{{1>}
之前的这个unicode字符‎
似乎是( )
Unicode hex:8206
Unicode十进制:33286
UTF-8 Hex:e88886
HTML实体:舆
资料来源:http://www.htmlescape.net/82/character_8206.html
或来自:http://en.wikipedia.org/wiki/Left-to-right_mark
我引用:“LRM导致标点符号仅与LTR文本相邻 - ”C“和LRM标记 - 因此位置就好像它是从左到右文本,即在右边某些软件可能需要前面的文本。id
或‎
而不是不可见的Unicode字符本身; 实际的不可见字符也会使复制编辑变得困难。“
添加了注释:我在此主题上找到的维基百科信息,我最初在进行Google搜索时发现,这导致我this page导致我The Wikipedia page我张贴在上面。
原始问题中的另一个Unicode字符是‎
来自unicodemap.org,我引用:̌
"Unicode Character Map - 0x036F (a.k.a. "̌")"
Unicode Hexadecimal: 0x030C
Unicode Decimal: 780
UCS-2 Hexadecimal: 0x0C03
UCS-2 Decimal: 3075
HTML Hexadecimal: ̌
角色(可能有点难以看到):