-1

PHPとmysqlステートメント「Show create view viewname」を使用して現在のビュー基準を取得するにはどうすればよいですか

現在の基準を変数に入れ、その変数を修正してから、クエリを再実行したいと考えています。PHP からステートメントを使用する方法がわかりません。

助けてくれてありがとう

- 編集 -

可能なコード:

if($_POST['flag']=='flag'){
    $sqlShow = 'show create view `filter_tbl`';
    $result = mysql_query($sqlShow);
    $resultQuery = $result;
    $resultQuery .= ' AND `lead_id`!="'.$idval.'"';
    $result2 = mysql_query($resultQuery);
    echo $result;
    if($result){
        echo true;
    }
    else{
        echo mysql_error();
    }
}
4

1 に答える 1

1

これを使用して、ビューが使用する SQL ステートメントを取得します。

$viewSQL = "SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS 
WHERE TABLE_SCHEMA = 'myDatabase' AND TABLE_NAME = 'filter_tbl'";

$result = mysql_query($viewSQL);
$resultQuery = mysql_fetch_assoc($result);
$SqlUsedByView = $resultQuery['VIEW_DEFINITION'];
// Now alter the WHERE clause to your needs:
$MyNewSQL = str_ireplace( "WHERE ", "WHERE `lead_id`!=".$idval." AND " , $SqlUsedByView);

View の実際の WHERE 句が何であるかわからないことに注意してください。したがって、上記の str_ireplace() は、変更を行う方法の例にすぎません。

于 2012-06-28T20:19:20.523 に答える