2016-09-25 33 views
1

你好朋友我需要更新我的数据库中的一些表行,但我没有得到任何错误在我的PHP函数,没有更新请帮助我解决这个问题。如何使用OOPHP更新Mysqli表格

我的表称为USER_ACCOUNT并具有以下几列,ID,USER_ID这是另一张表,账户FK,地址

此类支持的所有功能。 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); 

} 

?> 
+0

我相信它应该是$ db-> createAccount而不是$ db-> createProfile。你有两个响应变量:$ response和$ res,尝试仅使用一个 –

+0

是的,我已将$ db-> createProfile更改为$ db-> createAccount和$ res以$ response但仍不变 –

+0

您能向我们展示任何请输出错误? –

回答

0

你是sql语句更新,但你应该使用插入。我假设该行在表中不存在,因为该函数被称为createProfile/create_account?

Insert into user_account values() 
+0

不,我的行存在是为什么我需要更新它的原因,user_id是7,在帐户有23435,在地址有基加利 –

+0

我终于找到了原因,我删除了我有user_id id Dbhandler.php以及调用create_account的文件,例如:$ stmt = $ this-> conn-> prepare(“UPDATE user_account set account =?,address =?where user_id =?”);我希望这在哪里user_id =?是因为我是问题。现在的问题是,更新影响所有行,但我需要该更新影响最后插入的行 –

+0

如果你这样做,那么你会更新该表中的所有记录。 –