Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL“;从`table`中删除,其中`id`=|未知列`id`_Php_Mysql - Fatal编程技术网

PHP MySQL“;从`table`中删除,其中`id`=|未知列`id`

PHP MySQL“;从`table`中删除,其中`id`=|未知列`id`,php,mysql,Php,Mysql,我的代码: 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("Errorme

我的代码:

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);
    }
  }
}
$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` = ?")) {


编辑 在你用更新的代码编辑了你的问题之后,我又进入了编辑模式(美国东部夏令时晚上11:00),我将你的查询行复制/粘贴到我的编辑器中,你的第一个反勾号和单词
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);
    }
  }
}
if(isset($\u POST['del'])){
foreach($_POST['del']作为$id){
if($stmt=$mysqli->prepare(“从`users`中删除,其中`id`=?”){
$stmt->bind_参数('i',$id);
$stmt->execute();
}否则{
printf(“错误消息:%s
”,$mysqli->error); } } }

脚注: 从我在编辑器中发现的情况来看,它似乎是(或者)这个unicode字符
id

Unicode十六进制:8206
Unicode十进制:33286
UTF-8十六进制:e88886
HTML实体:舆
资料来源:


或此发件人:

我引用:“LRM导致标点符号仅与LTR文本相邻–即“C”“和LRM标记–因此其位置就好像是在从左到右的文本中,即在前面文本的右侧<代码>‎
&lrm而不是不可见的Unicode字符本身实际的不可见字符也会使副本编辑变得困难。

补充说明:我在维基百科上找到的关于这个主题的信息,我最初是在谷歌搜索时找到的,这让我找到了上面的帖子


原始问题中的另一个Unicode字符是
̌;

我引自:
“Unicode字符映射-0x036F(又称“̌”)”

Unicode十六进制:0x030C

Unicode十进制:780

UCS-2十六进制:0x0C03 UCS-2十进制:3075
HTML十六进制:̌;

HTML十进制:̌;

字符(可能有点难看):


̌似乎有一些奇怪的字符(编辑:参考脚注)类似于
id
前面的反勾号,但事实并非如此

我还不能确切地从我的编辑那里分辨出来

更改此行:

if ($stmt = $mysqli->prepare("DELETE FROM `users` WHERE `‎̌id` = ?")) {


编辑 在你用更新的代码编辑了你的问题之后,我又进入了编辑模式(美国东部夏令时晚上11:00),我将你的查询行复制/粘贴到我的编辑器中,你的第一个反勾号和单词
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);
    }
  }
}
if(isset($\u POST['del'])){
foreach($_POST['del']作为$id){
if($stmt=$mysqli->prepare(“从`users`中删除,其中`id`=?”){
$stmt->bind_参数('i',$id);
$stmt->execute();
}否则{
printf(“错误消息:%s
”,$mysqli->error); } } }

脚注: 从我在编辑器中发现的情况来看,似乎是(或者)这个unicode字符
‎;
id

Unicode十六进制:8206
Unicode十进制:33286
UTF-8十六进制:e88886
HTML实体:舆
资料来源:


或此发件人:

我引述:“LRM导致标点符号仅与LTR文本相邻——“C”和LRM标记,因此其位置就好像是在从左到右的文本中,即在前面文本的右侧<代码>‎
&lrm而不是不可见的Unicode字符本身实际的不可见字符也会使副本编辑变得困难。

补充说明:我在维基百科上找到的关于这个主题的信息,我最初是在谷歌搜索时找到的,这让我找到了上面的帖子


原始问题中的另一个Unicode字符是
̌;

我引自:
“Unicode字符映射-0x036F(又称“̌”)”

Unicode十六进制:0x030C

Unicode十进制:780

UCS-2十六进制:0x0C03 UCS-2十进制:3075
HTML十六进制:̌;

HTML十进制:̌;

字符(可能有点难看):


̌您是否选择了正确的数据库?您缺少一个空格。我的屏幕上的灰尘在哪里,或者某些特殊字符被用作背景标记?更改‎̌id到id,有一个‎̌在iYou前面的字符中有一些奇怪的字符。在“编辑更多”中查看您的代码时,在您的backtick
id
之间出现了两个字符-还是只有我?您的一个backtick不正确,就在
id
之前,您选择了正确的数据库吗?您缺少一个空格。我屏幕上的灰尘在哪里,或者某个特殊字符被用作背景标记?更改‎̌id到id,有一个‎̌iYou之前的字符中有一些奇怪的字符。在“编辑更多”中查看代码时,在您的