Igor Kulman

Prázdne stĺpce v PostgreSQL

· Igor Kulman

Včera som pri práci narazil na zaujímavý problém, a to vkladanie prázdnych hodnôt do stĺpcov typu Date v PostgreSQL. Ak nie je požadovaná položka vyplnená vo formulári, na PHP skript je poslaná ako prázdny reťazec, PostgreSQL zahlási chybu.

Ako možné riešenie som našiel nasledujúci kód:

 $length_str = $_POST['trk_length'];
 if (empty($length_str))
    $trk_length = NULL;
 else 
    $trk_length = "'".$length_str."'";
 
 $result = pg_query($conn, "INSERT INTO track (field1, field2,  trk_length) 
                                        VALUES ('$var1', '$var2', $trk_length)");  

V mojom prípade to však nejako nefungovalo, pomohla však menšia úprava, a to uzavrieť NULL do úvodzoviek, teda:

$length_str = $_POST['trk_length'];
if (empty($length_str))
 $trk_length = "NULL";
else 
 $trk_length = "'".$length_str."'";
 
$result = pg_query($conn, "INSERT INTO track (field1, field2,  trk_length) 
                                        VALUES ('$var1', '$var2', $trk_length)");