|
Posted by Kenoli on 02/09/07 15:04
On Feb 8, 4:56 pm, wombat <6...@k.com> wrote:
> I'm encountering the following problem:
>
> I'm trying to create a new row by:
>
> "INSERT INTO object_ix (name, address, phone, active) VALUES ('$a',
> '$b', '$c', '$d')"
>
> The "active" column is an ENUM to be set either YES or NO, however this
> portion is failing to work. If I take out the "active" column, it works
> just fine but I can't seem to be able to set an ENUM when creating the
> row...
>
> $d is set with a form using select with options YES and NO.
>
> What am I doing wrong here?
>
> Any help would be much appreciated. Thanks.
I'm using this same construct successfuly.
Make sure your table is set up correctly (I think mysql will force you
to do this, so it probably isn't your issue, but it may be useful to
check).
In the "type" column the choices need to have quotes like this:
'YES', 'NO' and in the default filed no quotes, like this:
NO
i found setting my variable for the unum field like this was helpful:
$d = escape_data($_POST['active']);
if ($d != "YES") {$d = 'NO';}
The "if" statement makes sure you have a valuei in that variable.
While you don't need it, escape_data() invokes the following function
which may help as well to get rid of any offending escapes or white
space:
function escape_data ($data) {
global $dbc;
if (ini_get('magic_quotes_gpc')) {
$data = stripslashes($data);
}
return mysql_real_escape_string(trim ($data), $dbc);
}
You need to be connected to a database to define and invoke it.
Hope this helps.
--Kenoli
[Back to original message]
|