Because the sql types could be combined it would be better to use a function like this:
function getMySQLType($str){
$str=trim($str);
return strtoupper(substr($str,0,strpos($str,' ')));
}
$sql="select * from user;";
if (getMySQLType($sql) == 'SELECT'){
//true
}
mysqli::rpl_query_type
mysqli_rpl_query_type
(PHP 5)
mysqli::rpl_query_type -- mysqli_rpl_query_type — Возвращает RPL тип запроса
Описание
Объектно-ориентированный стиль
int mysqli::rpl_query_type
( string
$query
)Процедурный стиль
Возвращает MYSQLI_RPL_MASTER,
MYSQLI_RPL_SLAVE или
MYSQLI_RPL_ADMIN в зависимости от типа запроса.
INSERT, UPDATE и подобные являются
master запросами, SELECT -
slave, а FLUSH,
REPAIR и им подобные - admin запросы.
Внимание
К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.
Внимание
Эта функция УСТАРЕЛА и была УДАЛЕНА начиная с версии PHP 5.3.0.
steohan at gobro dot de ¶
2 years ago
technique-glamour at condenast dot fr ¶
5 years ago
WARNING : this function (or maybe the "enable_rpl_parse" function) randomly causes a segfault into PHP.
We don't use this function anymore. Instead we check if the query contains the word 'SELECT' :
function query_type($query)
{
if ( stripos($query,'SELECT'))
return true;
return false;
}
