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

phpoci_bind_by_namefloatから数値

    OSの小数点記号を変更できない場合(または単に変更したくない場合)、この問題の唯一の解決策は、floatパラメーターを回避することです。値をSQLに直接入力する必要があります。正しい小数点のロケールとしてen_USを使用することに注意してください。

    // Ensure that the period is used as decimal separator when converting float to string
    setlocale(LC_ALL, 'en_US');
    
    // Generate SQL
    // ...
    $variables = array();
    if(is_int($myValue))
    {
        $sql .= ':MYVALUE';
        $variables[':MYVALUE'] = $myValue;
    }
    else if(is_float($myValue))
    {
        $sql .= (string) $myValue;
    }
    // ...
    
    // Generate statement
    // $resource = oci_parse(...);
    
    // Bind parameters (if neccessary)
    if(count($variables) > 0)
    {
        foreach($variables as $name => &$variable)
            oci_bind_by_name($resource, $name, $variable);
    }
    


    1. AWS Python Lambda with Oracle - HOSTALIASES を追加した後でも OID の生成に失敗しました

    2. インストールされているpostgresqlバージョンが多すぎます:選択したpostgresqlバージョンのみを起動する方法、または不要なバージョンを削除する方法は?必要なポートは標準の5432です

    3. 管理者専用のテーブルでDrupal7を編集可能なフィールドにする方法

    4. SQLを使用してXを超える注文を持つ顧客の総数を見つける