データベース内のパスワードを変更する必要がある関数を作成しようとしています。私の問題は、SQLコードが間違っている可能性があることです。
このエラーメッセージが表示されます:クラスmysqliのオブジェクトはCで文字列に変換を要求できませんでした:\ WAMP \ www \ Connection \ DB_Connection.php on line 32
db_connectionで間違っていると表示されますが、ハンドラーで何か間違ったことをしたと信じています
ハンドラ:
public function ChangePassword($password,$username){
var_dump($password,$username);
$DBConnection = new DBConnection();
$DBConnection -> Connect();
$sql= "UPDATE user SET password=? where m_username=?";
$stmt = $DBConnection -> prepare($sql);
$stmt -> bind_param("ss",$m_password, $m_username);
if ($stmt === FALSE) {
//echoBr("prepare of '$sql' failed " . $DBConnection -> error);
return false;
}
$stmt -> execute();
// ger resultet.
$result = $stmt -> get_result();
$stmt -> close();
return false;
}
<?php
require_once ("settings.php");
require_once("Log.php");
class DBConnection {
private $m_mysqli = NULL;
public function Connect() {
$log = new Log();
$password = "";
$this -> m_mysqli = new mysqli(settings::DBhost, settings::DBroot,
settings::DBPassword, settings::DBdatabase);
//utf 8
$this -> m_mysqli -> set_charset("utf8");
//kollar kopplingen till databasen.
if ($this -> m_mysqli -> connect_errno) {
$log->LogMessage("Connect failed: $this->m_mysqli->connect_error");
return false;
} else {
$log->LogMessage("har kontakt med databasen");
}
return true;
}
public function Prepare($sql) {
$log = new Log();
$stmt = $this -> m_mysqli -> prepare($sql);
if ($stmt === FALSE) {
$log->LogMessage("Connect failed: $this->m_mysqli->connect_error");
return false;
}
return $stmt;
}
public function Close() {
$log = new Log();
$log->LogMessage("Close Connection");
$this -> m_mysqli -> close();
}
public function error() {
$log = new Log();
$wrong = "funktionen som heter error som ligger i db_c";
$log->LogMessage("Close Connection");
return $wrong;
}
}