SQL查询不更新数据库 [英] SQL query not updating database

查看:136
本文介绍了SQL查询不更新数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的数据库没有更新,不显示任何错误,任何人?
我已经设置了$ id和所有的变量,但如果我在我的查询中做错了,你可以吗?
提前感谢



PHP CODE

 <?php 

//从用户
的数据库获取值if if(isset($ _ GET ['id'])){
$ id =(int)$ _GET ['id'];
$ result = mysql_query(SELECT * FROM Credentials,Company WHERE Credentials.ID = $ id AND Company.CompanyID = $ id)或trigger_error(mysql_error());
$ row = mysql_fetch_array($ result);
}

if(isset($ _ POST ['submitted'])){


//定义变量的索引
if (isset($ _ POST ['email'])){
$ email = $ _POST ['email'];
}
if(isset($ _ POST ['password'])){
$ password = $ _POST ['password'];
}
if(isset($ _ POST ['permission'])){
$ permission = $ _POST ['permission'];
}
if(isset($ _ POST ['status'])){
$ status = $ _POST ['status'];
}


//所有字段的安全输入
$ email = safe_input($ email);
$ password = safe_input($ password);
$ permission = safe_input($ permission);
$ status = safe_input($ status);






//双检查输入
foreach($ _ POST AS $ key => $ value) {$ _POST [$ key] = mysql_real_escape_string($ value); }

// SQL查询
$ sql = mysql_query(UPDATE Credentials SET`Email` ='。$ email。',`Password` ='。 ','Permission` ='。$ permission。',`Status` ='。$ status。'WHERE`ID`= $ id)或die(mysql_error());

echo< div id ='add-success'>< i class ='fa fa-check'>< / i>& nbsp;< b& !< / b>< / div>< br />;
}

?>

HTML

 < form action ='edit.php?id =<?php echo safe_input($ id); ?>'method ='POST'id =add-merchantenctype =multipart / form-data> 

< p>< br />
< h6>电子邮件< / h6>
< input type ='text'name ='email'value =<?php echo nl2br($ row ['Email']);?"
onfocus =if(this.value == this.defaultValue)this.value =''
onblur =if(this.value =='')this.value = this.defaultValue />
< p>< br />
< h6>输入新密码< / h6>
< input type ='text'name ='password'value ='Password'
onfocus =if(this.value == this.defaultValue)this.value =''
onblur =if(this.value =='')this.value = this.defaultValue/>
< p>< br />
< h6>权限< / h6>
< select name =permission>
< option value =0selected>未验证< / option>
< option value =1>已验证< / option>
< / select>
< p>< br />
< h6>状态< / h6>
< select name =status>
< option value =1selected>已启用< / option>
< option value =0>已停用< / option>
< / select>


< p>< input type ='submit'value ='Update'/>< input type ='hidden'value ='1'name = />

< / form>


解决方案

id 如果是这样,那么你的sql查询应该是这样的。

  $ sql = mysql_query(UPDATE Credentials SET`Email` = 。$ email。',`Password` ='。$ password。',`Permission` ='。$ permission。',`Status` ='。 = $ id)// id = $ id无引号,因为它是数字

  mysql_query(UPDATE Credentials SET`Email` ='{$ email}',`Password` ='{password}','Permission` ='{$ permission}','Status` ='{$ status}'WHERE`ID`= $ id)
pre>

如果这也不工作粘贴查询在phpmyadmin或您的数据库尝试在线运行查询如果可能。还设置error_reporting(E_ALL)让浏览器显示错误;


my database is not updating and not displaying any errors, anyone ? i already set the $id and all the variables but can you please if i'm doing something wrong in my query ? thank you in advance

PHP CODE

                <?php  

                    //get values from Database for user
                    if (isset($_GET['id']) ) { 
                        $id = (int) $_GET['id']; 
                        $result = mysql_query("SELECT * FROM Credentials, Company WHERE Credentials.ID = $id AND Company.CompanyID = $id") or trigger_error(mysql_error());
                        $row = mysql_fetch_array($result);
                    }

                    if (isset($_POST['submitted'])) { 


                        //define index for variables 
                        if(isset($_POST['email'])){
                            $email = $_POST['email'];
                        }
                        if(isset($_POST['password'])){
                            $password = $_POST['password'];
                        }
                        if(isset($_POST['permission'])){
                            $permission = $_POST['permission'];
                        }
                        if(isset($_POST['status'])){
                            $status = $_POST['status'];
                        }


                            //safe input for all fields 
                            $email = safe_input($email);
                            $password = safe_input($password); 
                            $permission = safe_input($permission);
                            $status = safe_input($status); 






                            //double checking inputs
                            foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); } 

                            //SQL queries
                            $sql = mysql_query("UPDATE Credentials SET  `Email` =  '".$email."' ,  `Password` =  '".$password."' ,  `Permission` =  '".$permission."',  `Status` =  '".$status."'  WHERE `ID` = $id ")  or die(mysql_error());

                                echo "<div id='add-success'><i class='fa fa-check'></i>&nbsp;<b>Updated Successfuly!</b></div><br/>";
                            } 

                ?>

HTML

                <form action='edit.php?id=<?php echo safe_input($id); ?>' method='POST' id="add-merchant" enctype="multipart/form-data"> 

                    <p><br />
                    <h6>Email</h6>
                    <input type='text' name='email' value="<?php echo nl2br($row['Email']); ?>" 
                            onfocus="if (this.value==this.defaultValue) this.value = ''" 
                            onblur="if (this.value=='') this.value = this.defaultValue"/> 
                    <p><br />
                    <h6>Enter New Password</h6>
                    <input type='text' name='password' value='Password'  
                            onfocus="if (this.value==this.defaultValue) this.value = ''" 
                            onblur="if (this.value=='') this.value = this.defaultValue"/> 
                    <p><br />
                    <h6>Permission</h6>
                    <select name="permission">
                        <option value="0" selected>Unverified</option>
                        <option value="1">Verified</option>
                    </select>
                    <p><br />
                    <h6>Status</h6>
                    <select name="status">
                        <option value="1" selected>Activated</option>
                        <option value="0">Deactivated</option>
                    </select>


                    <p><input type='submit' value='Update' /><input type='hidden' value='1' name='submitted' /> 

                </form> 

解决方案

Is id field numeric, if so then your sql query should be like this.

$sql = mysql_query("UPDATE Credentials SET  `Email` =  '".$email."',  `Password` =  '".$password."',  `Permission` =  '".$permission."', `Status` =  '".$status."'  WHERE `ID` = $id ") // id = $id without quotes because it is numeric

IF this above query is not working try this one

mysql_query("UPDATE Credentials SET  `Email` =  '{$email}',  `Password` =  '{password}',  `Permission` =  '{$permission}', `Status` =  '{$status}'  WHERE `ID` = $id")

If this too doesn't works paste the query in phpmyadmin or your database try running the query online if possible.Also set error_reporting(E_ALL) to let browser display error;

这篇关于SQL查询不更新数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆