Fondamentalement, j'essaie de montrer un message d'affichage selon si la rangée dans une base de données a été changée ou pas, j'ai regardé autour et il a été suggéré d'utiliser rowCount
que j'ai fait, cependant il me montre toujours la mauvaise sortieMISE À JOUR avec rowCount
function makeActive()
{
try{
$database = new Database;
$text = "";
$activecode = $_GET["activecode"];
$setActive = "UPDATE username SET active = '1', activecode = 'Active' WHERE activecode = :activecode";
$stmt = $database->query($setActive);
$database->bind(':activecode', $activecode);
$database->execute();
$update = $database->rowCount();
if ($update === 1)
{
return $text .="Your account is now active" . "<br><a href='index.php'>Home page</a>";
}
else
{
return $text .="Your account is already active" . "<br><a href='index.php'>Home page</a>";
}
}
catch(Exception $e)
{
return $text .= "Something went wrong contact site administrator" . "<br><a href='index.php'>Login page</a>";
header("refresh:10; url=index.php");
}
}
Alors basiquement ce qui devrait arriver est si une ligne est mis à jour, il devrait afficher return $text .="Your account is now active" . "<br><a href='index.php'>Home page</a>";
base de données Ajouté classe
class Database
{
private $host = "localhost";
private $user = "root";
private $pass = "";
private $dbname = "got";
private $dbh;
private $error;
private $stmt;
public function __construct()
{
//SET DSN
$dsn = "mysql:host=". $this->host . ";dbname=" . $this->dbname;
$options = array
(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION
);
//create PDO
try
{
$this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
}
catch(PDOEception $e)
{
$this->error = $e->getMessage();
}
}
public function query($query)
{
$this->stmt = $this->dbh->prepare($query);
}
public function bind($param, $value, $type = null)
{
if(is_null($type))
{
switch(true)
{
case is_int($value):
$type = PDO::PARAM_INT;
break;
case is_bool($value):
$type = PDO::PARAM_BOOL;
break;
case is_null($value):
$type = PDO::PARAM_NULL;
break;
default:
$type = PDO::PARAM_STR;
}
}
$this->stmt->bindValue($param, $value, $type);
}
public function execute()
{
return $this->stmt->execute();
}
public function lastInsertId()
{
$this->dbh->lastInsertId();
}
public function rowCount()
{
$this->stmt->rowCount();
}
public function connect()
{
$this->dbh->connect();
}
public function resultset()
{
$this->execute();
return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
Ahh, tu es une star et je peux aller au lit, il est 02h35 ici Merci :) – cakeman
De rien. Content de t'avoir aidé. Par moi c'est une heure plus tard :-) Cakeman, pour ton projet, si ça t'aide: [ma classe d'adaptateur db] (https://stackoverflow.com/questions/46014772/return-multiple-response-data-in-one -réponse/46018999 # 46018999). C'est dans la partie "EDIT" de la réponse. Au revoir. –
Je regarderai quand je me réveillerai, je l'ai marqué le livre autrement je ne dormirai pas du tout lol – cakeman