我正在尝试执行以下代码。
执行成功,但是显示抱歉,查询无法执行...
我的代码:
class.php
public function admin_update($id,$update,$value)
{
try{
$stmt = $this->conn->prepare("UPDATE admin SET ".$update."=:_value WHERE Id=:_id");
$stmt->bindparam(":_value",$value);
$stmt->bindparam(":_id",$id);
$stmt->execute();
}
catch(PDOException $ex)
{
echo $ex->getMessage();
}
}
update.php
$id = "1";
if(admin_update($id,"Access","Y"))
{
echo "Success";
}
else
{
echo "sorry, Query could not execute...";
}
MySQL表已更新,但不显示成功,而是显示对不起,查询无法执行...
答案 0 :(得分:1)
您需要return
execute()
的结果。由于您未返回任何内容,因此默认情况下将其视为null
,因此您的if()
条件始终将其检查为false
,然后转到else()
部分。 / p>
public function admin_update($id,$update,$value)
{
try{
$stmt = $this->conn->prepare("UPDATE admin SET ".$update."=:_value WHERE Id=:_id");
$stmt->bindparam(":_value",$value);
$stmt->bindparam(":_id",$id);
return $stmt->execute(); // return the result of execute
}
catch(PDOException $ex)
{
echo $ex->getMessage();
return 0; // return 0 in case of failure
}
}