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