2014-09-21 145 views
-1

我的数据库没有更新,没有显示任何错误,任何人? 我已经设置了$ id和所有变量,但是如果我在查询中做错了什么,请问可以吗? 预先感谢您SQL查询不更新数据库

PHP代码

   <?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> 
+1

做一些'如果执行在'if'声明脚本echo'测试 – 2014-09-21 09:32:36

+0

检查'if'满足条件还是不行! – MH2K9 2014-09-21 09:32:49

+0

我已经设置了回声声明没有错误,查询成功,它显示“已成功更新” – 2014-09-21 09:45:11

回答

0

ID场数字,如果是的话那么你的SQL查询应该是这样的。

$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 

如果上面的查询工作不试试这个

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

如果这也太不粘贴作品在phpMyAdmin查询或数据库尝试运行查询网上,如果possible.Also设置的error_reporting (E_ALL)让浏览器显示错误;

+0

id是数字我已经试过它没有引号,它也没有工作,它可能是什么除此之外 ? – 2014-09-21 09:41:34

+0

请尝试我们使用这个,我们不会保证这一个真实性。 – 2014-09-21 09:44:48

+0

已更新我的代码来添加更多详情。 – 2014-09-21 09:48:15

0

首先检查'如果'条件是否为真。我修改了这样的查询并为我工作。

$DB_NAME = "database name"; 
    $HOST = "localhost"; 
    $USER = "mysql username"; 
    $PASSWD = "mysql password"; 

    $conn = mysql_connect($HOST,$USER,$PASSWD); 
    mysql_select_db('Credentials', $conn); 

'$ conn将' 指定MySQL连接

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