【问题标题】:MySQLi not update in this program how can i solve this errorMySQLi没有在这个程序中更新我该如何解决这个错误
【发布时间】:2016-02-07 09:06:05
【问题描述】:

此代码一字段问题。该文件在 int 中,但值在 varchar 中。那么如何更改连接查询。

  <?php 
include 'dblayer.php';
$action = isset( $_POST['action'] ) ? $_POST['action'] : "";
if($action == "update")
{ 
    $query = "update employee
    INNER JOIN department ON employee.department=department.dept_id SET
    fname = '".$mysqli->real_escape_string($_POST['fname'])."',
    lname  = '".$mysqli->real_escape_string($_POST['lname'])."',
    dept  = '".$mysqli->real_escape_string($_POST['department'])."',
    where id='".$mysqli->real_escape_string($_REQUEST['id'])."'";
    if( $mysqli->query($query) )
     {
        echo "<script>alert('employee Data updated successfully!')</script>";
        echo "<script>window.open('view.php')</script>";
    }
    else
    {
        echo "Database Error: Unable to update record.";
    }
    }
    $query = "SELECT  employee.id, employee.fname, employee.lname,    department.department from employee INNER JOIN department  ON  employee.department = department.dept_id where employee.id='".$mysqli-    >real_escape_string($_REQUEST['id'])."' limit 0,1";
    $result = $mysqli->query($query );
    $row = $result->fetch_assoc();
    $fname = $row['fname'];
    $lname = $row['lname'];
    $dept = $row['department'];
   ?>

部门字段主键和员工表id主键

【问题讨论】:

  • 部门字段仅不起作用
  • 请尝试用更通俗易懂的英语解释您的问题。这样一来,就无法阅读了。
  • 我不明白。您是否将 VARCHAR 传递给仅接受 INT 的数据库字段?
  • 更新查询不起作用。因为 dept 在 int 中归档,但值在 varchar 中。那么我如何传递值并进入存储数据库
  • you said Department field primary key 在您的查询中您尝试更新它,它永远不会发生

标签: php html mysqli


【解决方案1】:

我不会 100% 理解您的问题,但我会尽力帮助您。

首先 - 表格的 id 是主要的并且自动递增,因此更新这一行没有意义

其次要在 INNER JOIN 中比较这两行,它们的数据库行必须具有相同的 INT 属性

employee.department=department.dept_id

在这一行中是employee.department 来自department.dept_id 的ID ???

第三次修改代码为

 where employee.id

【讨论】:

  • 部门是外键。
猜你喜欢
  • 2016-07-21
  • 2016-09-09
  • 1970-01-01
  • 1970-01-01
  • 2015-02-28
  • 2013-08-16
相关资源
最近更新 更多