Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用OOPHP更新Mysqli表_Php - Fatal编程技术网

如何使用OOPHP更新Mysqli表

如何使用OOPHP更新Mysqli表,php,Php,你好,朋友,我需要更新我数据库中的一些表行,但我没有得到任何php函数中没有错误,也没有更新。请帮助我解决这个问题 我的表名为user\u account,具有以下列,id,user\u id,它是另一个表的FK,account,address 这个类支持所有函数。Dbhandler.php public function create_account($user_id, $account, $address) { $stmt = $this->conn->pre

你好,朋友,我需要更新我数据库中的一些表行,但我没有得到任何php函数中没有错误,也没有更新。请帮助我解决这个问题

我的表名为user\u account,具有以下列,id,user\u id,它是另一个表的FK,account,address

这个类支持所有函数。Dbhandler.php

   public function create_account($user_id, $account, $address) {


     $stmt = $this->conn->prepare("UPDATE user_account set account= ?,    address= ? where user_id = ? ");

        $stmt->bind_param("iss", $user_id, $account, $address);

        $stmt->execute();

    }



**This file calls create_account function when i submit**

 <?php

include './DbHandler.php';
$db = new DbHandler();


$response = array();

 if (  isset($_POST['user_id']) &&  (isset($_POST['account']) &&     isset($_POST['address'])  )!= '') {


    $user_id = $_POST['user_id'];
   $account = $_POST['account'];
    $address = $_POST['address'];



  $res = $db->createProfile($user_id, $account, $address);

} 

?>
public函数创建账户($user\u id,$account,$address){
$stmt=$this->conn->prepare(“更新用户\帐户集帐户=?,地址=?其中用户\ id=?”;
$stmt->bind_参数(“iss”、$user_id、$account、$address);
$stmt->execute();
}
**此文件在我提交时调用create_account函数**

您的sql语句是update,但您应该使用insert。我假设表中还不存在该行,因为函数名为createProfile/create\u account

Insert into user_account values ()

您的sql语句是update,但您应该使用insert。我假设表中还不存在该行,因为函数名为createProfile/create\u account

Insert into user_account values ()


我认为应该是$db->createAccount,而不是$db->createProfile。您有两个变量用于响应:$response和$res,请尝试仅使用一个。是的,我已将$db->createProfile更改为$db->createAccount,并将$res更改为$response,但仍然没有更改。您能否向我们显示任何输出错误?我确实没有收到错误。我相信应该是$db->createAccount,而不是$db->createProfile。您有两个变量用于响应:$response和$res,请尝试仅使用一个。Yes,我已将$db->createProfile更改为$db->createAccount,将$res更改为$response,但仍然没有更改。您能否向我们显示任何输出错误?我没有收到任何错误。reallyNope,我的行存在是我需要更新它的原因,用户id为7,帐户中有23435,在地址中,kigaliI终于找到了原因,我删除了所有我有user_id Dbhandler.php的地方,以及调用create_account的文件,这一行的示例:$stmt=$this->conn->prepare(“UPDATE user_account set account=?,address=?where user_id=?”;我希望这里的user_id=?是我造成了这个问题。现在的问题是,更新会影响除我之外的所有行我需要更新会影响最后插入的行如果这样做,那么您将更新该表中的所有记录。尝试重新排序绑定参数,看起来您正在传递帐户的用户id,而用户id的帐户是我唯一关注的问题,它正在更新所有记录,我只需要更新最后插入的id,我不知道该怎么做!不,我的行存在是我需要更新它的原因,用户id是7,帐户中有23435,地址中有kigaliI终于找到了原因,我删除了所有我有用户id的地方Dbhandler.php和调用create\u account的文件,这一行的示例:$stmt=$this->conn->prepare(“更新用户\帐户集帐户=?,地址=?其中用户\ id=?”);我希望这其中user_id=?是问题的原因。现在问题是更新影响所有行,但我需要更新影响最后插入的行如果这样做,那么您将更新该表中的所有记录。尝试重新排序绑定参数,看起来您正在传递帐户的用户id和用户id的帐户这就是我一直关注的问题,它正在更新所有记录,我只需要更新最后一个插入的id,我不知道该怎么做!