sql >> データベース >  >> RDS >> Oracle

PHPを使用してOracleデータベースを検索する

    行のフェッチを試みる前に、クエリを実行する必要があります。 oci_parse() 指定されたクエリを実行しません。

    フェッチする前に実行呼び出しを追加します:

    $success = oci_execute($objParse);
    

    また、ifの最初のブロックに 、oci_parse()は呼び出さない 。 elseでのみ呼び出されます 。 oci_parse()を呼び出すように変更します すべての条件で。

    生のPOSTデータをクエリに連結するため、クエリはSQLインジェクションに対して脆弱です。 SQLインジェクションを防ぐには、バインドされたパラメーターを使用します。

    $optid = '%' . $_POST['OPRID'] . '%';
    $optdec = '%' . $_POST['OPRDEFNDESC']. '%';
    $empid = '%' . $_POST['EMPLID']. '%';
    $empmail = '%' . $_POST['EMAILID']. '%';
    
    $query ="SELECT  * FROM OPERATOR WHERE OPRID LIKE :optid  
        or OPRDEFNDESC LIKE '%:optdec%' or EMPLID LIKE :empid
        or EMAILID LIKE :empemail "; 
    
    $objParse = oci_parse ($ora_conn, $query);
    
    oci_bind_by_name($objParse, ':optid', $optid);
    oci_bind_by_name($objParse, ':optdec', $optdec);
    oci_bind_by_name($objParse, ':empid', $empid);
    oci_bind_by_name($objParse, ':empemail', $empemail);
    
    $success = oci_execute($objParse);
    



    1. カテゴリごとに最新の4つのアイテムを選択するにはどうすればよいですか?

    2. テーブルに配列を格納/取得するための最適な方法

    3. T-SQLでのハミング重み/母集団数

    4. IntegrityError:削除時の外部キー違反