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
22-Sep-2010 11:22
technique-glamour at condenast dot fr
19-Jul-2007 08:28
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;
}
