[英]mysql_query() Strange behaviour
我有一段PHP代碼,該代碼調用mysql_query()
在遠程數據庫中插入一行。
奇怪的是mysql_query()
總是返回false,但是當我檢查數據庫時,我可以看到該行已正確插入。
我的PHP版本是5.4.3,這是我正在使用的代碼:
class dbmanager{
public function executeQuery($sql){
$con = mysql_connect(config::getBBDDServer(), config::getBBDDUser(), config::getBBDDPwd());
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db(config::getBBDDName(), $con);
$result = mysql_query($sql);
mysql_close($con);
return $result;
}
}
//另一個文件...
private function insertRow($name, $descrip){
$sql = sprintf("INSERT INTO myTable (name, descripction) VALUES ('%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description));
$db = new dbmanager();
$result = $db->executeQuery($sql);
if($result){ // always FALSE
return mysql_insert_id();
}else{
return false;
}
}
有人對這里發生的事情有想法嗎?
您關閉與數據庫的連接
mysql_close($con);
之后,您嘗試致電
mysql_insert_id();
當然,它將返回false。
嘗試使用
public function __destruct () {
mysql_close($con);
}
代替
mysql_close($con);
在你班上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.