Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

php oci_bind_by_name फ्लोट टू न्यूमेरिक

यदि आप अपने ओएस के दशमलव प्रतीक को नहीं बदल सकते हैं (या आप बस नहीं चाहते हैं), तो इस समस्या का एकमात्र समाधान फ्लोट पैरामीटर से बचना है। आपको सीधे एसक्यूएल में मान दर्ज करना होगा। आपको भी होना चाहिए सही दशमलव विभाजक के लिए 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या Oracle में किसी उपयोगकर्ता द्वारा उपयोग किए जाने वाले संसाधनों को थ्रॉटल या सीमित करने का कोई तरीका है?

  2. Oracle डाटाबेस 11g में त्रुटि ORA-12638

  3. sqlplus में स्पूल का उपयोग करके हेडर बनाने में परेशानी

  4. क्या पीएल/एसक्यूएल प्रक्रियाओं में नेस्टेड ब्लॉक का कोई प्रदर्शन प्रभाव पड़ता है?

  5. एचक्यूएल क्वेरी के साथ देशी एसक्यूएल फ़ंक्शन का उपयोग कैसे करें?