Reply to Re: Quick two Code questions..

Your name:

Reply:


Posted by Bob Stearns on 09/07/06 22:07

IchBin wrote:

> Sorry I am new to PHP. First question, I hate to ask this but is there
> an or statement in PHP that I can use in an IF clause? I can't seem to
> find the format. Like say '|' or 'or'.
>
> Question: I am trying to do a SQL table insert. OK, no big deal. Well I
> am having a problem with this code. I build a data structure
> $fields_values and pass it to a function insertIntoDB() to issue the
> insert.
>
> The problem is in the actual INSERT Statement. The values for the column
> data do not have "" around the Col values. So SQL flags the fields as
> wrong. Example:
>
> INSERT INTO `Log` (ipAddress,action,groupPageName,namePageName,system)
> VALUES (127.0.0.1,browse,Main,HomePage,Testing new code)
>
> Can some one point me in the right direction on wrapping " around the
> data values so it will insert into the table.
>
> $table = 'myTable';
>
> $fields_values = array
> (
> 'ipAddress' => $_SERVER['REMOTE_ADDR'],
> 'action' => $action,
> 'groupPageName' => FmtPageName('$Group', $pagename),
> 'namePageName' => FmtPageName('$Name', $pagename);,
> 'system' => $system
> );
>
> insertIntoDB($table, $fields_values);
>
> function insertIntoDB($table, $fields_values)
> {
> $fields = implode(array_keys($fields_values), ',');
> $values = implode(array_values($fields_values), ',');
> $sqlStatement = 'INSERT INTO `'.$table.'` ('.$fields.') VALUES
> ('.$values.')';
> $res = mysql_query($sqlStatement)OR die(mysql_error());
> return true;
> }
>
Logical or is copied from C et al. It is '||'. '|' is bit wise or of two
integers. Reference
http://php.benscom.com/manual/en/language.operators.logical.php

The statement INSERT should look like the following:

INSERT INTO `Log` (ipAddress,action,groupPageName,namePageName,system)
VALUES ('127.0.0.1','browse','Main','HomePage','Testing new code')

If, as it appears, all your db columns are either CHAR, VARCHAR, or DATE
then this is easily done by:

$values = "'" . implode(array_values($fields_values), "','") . "'";

If they are of mixed numeric and the aforementioned types, then your
fields_values assignment statement must be modified as follows for each
CHAR etc. column:

'action' => "'$action'",

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация