安全模式sql php问题

安全模式sql php问题,php,mysql,sql,Php,Mysql,Sql,我对php/mysql有一个问题。当我想用php更新或删除表中的条目时,我有以下错误: 错误代码:1175。您正在使用安全更新模式,并尝试 更新不带WHERE的表,该表使用键列禁用safe 模式下,在“首选项->SQL查询”中切换选项,然后重新连接 我试图将MYSQL\u SAFE\u更新设置为0,但仍然无法工作 我也读过这篇文章:它并没有解决我的问题 有人给小费吗 代码: $sql2=“更新$table set”; $sql3=“插入到$table中”。”; $find; foreach($a

我对php/mysql有一个问题。当我想用php更新或删除表中的条目时,我有以下错误:

错误代码:1175。您正在使用安全更新模式,并尝试 更新不带WHERE的表,该表使用键列禁用safe 模式下,在“首选项->SQL查询”中切换选项,然后重新连接

我试图将MYSQL\u SAFE\u更新设置为0,但仍然无法工作

我也读过这篇文章:它并没有解决我的问题

有人给小费吗

代码:

$sql2=“更新$table set”;
$sql3=“插入到$table中”。”;
$find;
foreach($arr2作为$name){
如果($name!=“user”){
$id2='inp'$k;
if(isset($_POST[$id2]){
$val=$_POST[$id2];
$sql3.=$name.“,”;
}
$k++;
}
否则{
$find=$k;
//$k++;
}
}
$sql3=substr($sql3,0,-1);
$sql3.=”;
$sql3.=“值(”;
$check=“从$table where中选择*”;
$k=0;
$f=0;
foreach($arr作为$name){
如果($arr2[$k]!=“用户”){
$id2='inp'.$f;
如果(isset($\u POST[$id2])){
$val=$_POST[$id2];
//echo$val.“”;
如果(isset($\u POST[$id2])){
如果((strpos($name,'int')!==false | | strpos($name,'float')!==false)&(!empty($val)&&is_numeric($val))){
$sql2.=$arr2[$k]。“=”$val.“,”;
$check.=$arr2[$k]。“=”$val.“和”;
$sql3.=$val.“,”;
}
否则{
if(strpos($name,'varchar')!==false){
$sql2.=$arr2[$k]。“='”、“$val.”;
$check.=$arr2[$k]。“='”、“$val.”和“;
$sql3.=“'$val.”,“;
}
否则{
如果((strpos($name,'int')!==false | | strpos($name,'float')!==false)&(!empty($val)&&&!is_numeric($val))){
转到错误;
打破
}
}
}
}
否则{
$sql2.=$arr2[$k]。“=”空“;
$check.=$arr2[$k]。“=”“空和”;
$sql3.=“空”;
}
$f++;
}
}
$k++;
}
$use=$\会话['user'];
$check=substr($check,0,-5);
美元支票。=“;”;
$sth=$conn->prepare($check);
$sth->execute();
$row=$sth->fetch(PDO::fetch\U ASSOC);
如果(!$row){
$sql2=substr($sql2,0,-2);
$sql2.=“where”;
$i=0;
$j=0;
$bool=0;
如果(isset($_会话['tab'])){
foreach($arr作为$name){
如果($arr2[$i]!=“用户”){
$id2='inp'.$j;
如果(isset($\u POST[$id2])){
$val=$\会话['tab'][$j];
如果($id2!=“”){
$sql2.=$arr2[$i]。“=”;
如果((strpos($name,'int')!==false | | strpos($name,'float')!==false)&(!empty($val)&&is_numeric($val))){
$sql2.=$val.“和”;
}
否则{
if(strpos($name,'varchar')!==false){
$sql2.=“'”、$val.“'和”;
}
否则{
如果(空($val)){
$sql2.=$arr2[$i].“为空且”;
}
否则{
如果((strpos($name,'int')!==false | | strpos($name,'float')!==false)&(!empty($val)&&&!is_numeric($val))){
转到错误;
打破
}
}
}
}
}
未设置($_POST[$id2]);
$j++;
}
否则{
$sql2.=$arr2[$i].“为空且”;
}
}
$i++;
}
取消设置($_会话['tab']);
}
否则{
回声“ici”;
转到错误;
$bool=-1;
}
如果($bool!=-1){
$sql2=substr($sql2,0,-5);
$sql2.=“;”;
试一试{
$sth=$conn->prepare($sql2”);
$sth->execute();
}
捕获(例外$e){
echo$e;
$sql2 = "update $table set ";
           $sql3 = "insert into $table"."_ (";
           $find;
           foreach ($arr2 as $name) {
                if($name != "user"){
                    $id2 ='inp'.$k;
                    if(isset($_POST[$id2])){ 
                        $val = $_POST[$id2];
                        $sql3.= $name.",";
                    }
                    $k++;
                }
                else{
                    $find = $k;
                    //$k++;
                }
           }
           $sql3 = substr($sql3,0,-1);
           $sql3.=") ";
           $sql3.= " values( ";
           $check = "select * from $table where ";
           $k=0;
           $f=0;
           foreach ($arr as $name) {
                    if($arr2[$k] != "user"){
                        $id2 ='inp'.$f;
                        if(isset($_POST[$id2])){
                            $val = $_POST[$id2];
                           // echo $val."  ";
                            if(isset($_POST[$id2])){
                                if ((strpos($name, 'int') !== false || strpos($name,'float') !== false) && (!empty($val) && is_numeric ($val))){
                                    $sql2.= $arr2[$k]."=".$val.", ";
                                    $check.= $arr2[$k]."=".$val." and ";
                                    $sql3.= $val.",";
                                }
                                else{
                                    if(strpos($name, 'varchar') !== false){
                                        $sql2.= $arr2[$k]."='".$val."', ";
                                        $check.= $arr2[$k]."='".$val."' and ";
                                        $sql3.= "'".$val."',";
                                    }
                                    else{
                                        if ((strpos($name, 'int') !== false || strpos($name,'float') !== false) && (!empty($val) && !is_numeric ($val))){
                                           goto error;
                                           break;
                                        }
                                    }
                                }
                            }
                            else{
                               $sql2.=$arr2[$k]."="."NULL,";
                               $check.=$arr2[$k]."="."NULL and ";
                               $sql3.="NULL,";
                            }
                            $f++;
                        }
                    }
                    $k++;
           }
           $use = $_SESSION['user'];
           $check = substr($check,0,-5);
           $check.=";";
           $sth = $conn->prepare("$check");
           $sth->execute();
           $row = $sth->fetch(PDO::FETCH_ASSOC);
           if(!$row){
               $sql2 = substr($sql2, 0, -2);
               $sql2.=" where ";
               $i = 0;
               $j=0;
               $bool = 0;
               if(isset($_SESSION['tab'])){
                   foreach ($arr as $name) {
                       if($arr2[$i] != "user"){
                           $id2 ='inp'.$j;
                           if(isset($_POST[$id2])){
                              $val = $_SESSION['tab'][$j];
                              if($id2 != ""){
                                   $sql2.= $arr2[$i]."=";
                                   if ((strpos($name, 'int') !== false || strpos($name,'float') !== false) && (!empty($val) && is_numeric ($val))){
                                       $sql2.= $val." and ";
                                   }
                                   else{
                                        if(strpos($name,'varchar') !== false){
                                            $sql2.= "'".$val."' and ";
                                        }
                                        else{
                                            if(empty($val)){
                                                $sql2.= $arr2[$i]." IS NULL and ";
                                            }
                                            else{
                                                if ((strpos($name, 'int') !== false || strpos($name,'float') !== false) && (!empty($val) && !is_numeric ($val))){
                                                    goto error;
                                                    break;
                                                }
                                            }
                                        }
                                   }
                              }
                              unset($_POST[$id2]);
                              $j++;
                          }
                          else{
                               $sql2.= $arr2[$i]." IS NULL and ";
                          }
                        }
                      $i++;
                   }
                   unset($_SESSION['tab']);
               }
               else{
                    echo "ici";
                   goto error;
                   $bool = -1;
               }
               if($bool != -1){
                   $sql2 = substr($sql2,0,-5);
                   $sql2.=";";
                   try{
                       $sth = $conn->prepare("$sql2");
                       $sth->execute();
                   }
                   catch(Exception $e){
                        echo $e;
                   }
                   $sql3 = substr($sql3,0,-1);
                   $sql3.=");";
                   try{
                       $sth = $conn->prepare("$sql3");
                       $sth->execute();
                   }
                   catch(Exception $e){
                        echo $e;
                   }
                   echo $sql2."<br/>".$sql3."<br/>";
                   unset($_POST['sub']);
                   //redirect('database.php', 303);
              }
            }
            else{
                echo $check;
                goto error;
            }
        }
        error : 
            if(isset($e))
                echo $e;