"set names utf8mb4"));
}else{
if(stripos($sql,"create") === 0||stripos($sql,"drop") === 0|| stripos($sql,"grant") === 0){
$dbh=new PDO("mysql:host=".$DB_HOST, $DB_USER, $DB_PASS,array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8mb4;"));
// echo "General SQL";
$sql="use $DB_NAME; ".$sql;
}else{
$dbh=new PDO("mysql:host=".$DB_HOST.';dbname='.$DB_NAME, $DB_USER, $DB_PASS,array(PDO::ATTR_PERSISTENT=>true,PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8mb4"));
// echo "$DB_NAME SQL";
}
}
}
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $dbh->prepare($sql);
$sth->execute($args);
$result=array();
if(stripos($sql,"select") === 0){
$result=$sth->fetchAll();
}else if(stripos($sql,"insert") === 0){
$result=$dbh->lastInsertId();
}else{
$result=$sth->rowCount();
}
//print($sql);
$sth->closeCursor();
return $result;
}catch(PDOException $e){
// echo "".$e->getMessage().""; // open this line to debug SQL fail problems
// $view_errors="SQL:".$sql."\n".$e->getMessage();
// echo htmlentities($view_errors."\n\n");
GLOBAL $MSG_UPDATE_DATABASE,$MSG_HELP_UPDATE_DATABASE;
GLOBAL $POP_UPED,$OJ_NAME,$_SESSION;
if(!$POP_UPED&&isset($_SESSION[$OJ_NAME.'_administrator'])){
echo " $MSG_HELP_UPDATE_DATABASE $MSG_UPDATE_DATABASE。";
$view_errors="SQL:".$sql."\n".$e->getMessage();
echo htmlentities($view_errors."\n\n");
$POP_UPED=true;
}
if(stripos($sql,"create") === 0||stripos($sql,"drop") === 0) echo "continue\n";
//else exit(0);
return -1;
}
}