Ask a Question related to PHP Development, Design and Development.
-
Harald Servat Gelabert #1
php & mysql update problem
Dear news-team
I'm using MySQL 4.0.15a (with PHP 4.3.4rc1 and Apache 2.0.47 under FreeBSD).
I'm having problems when updating a column of a table (it updates an extra
column).
As an example, I provide this sample (data_registre, data_ultima_connexio are
the outputs of the SELECT).
** UPDATE usuaris SET data_ultima_fallada = 'NULL' WHERE userid = 'test'
** SELECT * FROM usuaris WHERE userid = 'test'
--> data_registre 20031120231019
--> data_ultima_connexio 20031120231019
** UPDATE usuaris SET data_ultima_connexio = '20031120231112' WHERE userid =
'test'
** SELECT * FROM usuaris WHERE userid = 'test'
--> data_registre 20031120231112
--> data_ultima_connexio 20031120231112
The PHP statements are exactly those that begin with **, and --> shows a
subset of a results received.
As you can see, the last update modifies both data_registre and
data_ultima_connexio. These updates and selects run alone and in sequential
mode, so data_registre should be always the same.
I really don't figure where is the problem. Moreover I add the table definition.
CREATE TABLE usuaris (userid VARCHAR(16),
nom_complet VARCHAR(64) NOT NULL,
correu VARCHAR(64) NOT NULL,
data_registre TIMESTAMP(14) NOT NULL,
data_ultima_connexio TIMESTAMP(14),
data_ultima_fallada TIMESTAMP(14),
paraula_de_pas VARCHAR(32) NOT NULL,
privilegis VARCHAR(255),
fallades INTEGER NOT NULL,
PRIMARY KEY (userid));
Has anyone any idea that could solve this problem?
Thanks in advance.
--
__________________________________________________ ______________________
Harald Servat Gelabert (harald at cepba dot upc dot es)
o//o Centre Europeu de Paral.lelisme de Barcelona CEPBA
o//o [url]WWW...:[/url] [url]http://www.cepba.upc.es[/url] Tel: +34-93-401 74 23
o//o e-mail: [email]suport@cepba.upc.es[/email] Fax: +34-93-401 25 77
o//o CEPBA c/Jordi Girona, 1-3, Ṃdul D6. E-08034 Barcelona, Catalunya
__________________________________________________ ______________________
The fundamental difference between Unix and Macintosh operating system
is that Unix was designed to please programmers, whereas the Mac was
designed to please users. (Windows, on the other hand, was designed to
please accountants, but that's another story)
-- from The UNIX haters handbook, page 163
Harald Servat Gelabert Guest
-
MySql UPDATE problem with duplicate rows
Hi, I have a MySql problem I hope someone can help me with. I'm trying to run an update on a linking table, the update is running into a Primary... -
flash > php > mySQL update query problem
Hi all! Bit of an urgent problem. I am trying to update a mySQL database via flash and PHP where two variables are supplied, a name and a contact... -
Can I do MySQL 4.1 -> 5.1 update just like this?
My phpBB version is 2.0.19. Can I do MySQL 4.1 -> 5.1 update just like this: 1.. Export phpbb -table with phpMyAdmin (SQL-options ... -
Flash - PHP - mySQL - update databse records problem
Hi i am having troubnle getting flash to update existing databse records. I can get it to add new records and view existing records buit cant get it... -
HOW TO -- ARRAY UPDATE MYSQL
HI ALL, I want to update a mulitple row from a HTML Table to MYSQL Database. L1 V1 T1 L2 V2 V2 L3 V3 V3 Any help in this regard is much... -
Tom Thackrey #2
Re: php & mysql update problem
On 21-Nov-2003, Harald Servat Gelabert <harald@cepba.upc.es> wrote:
TIMESTAMP columns are automatically updated whenever you modify the row.> I'm using MySQL 4.0.15a (with PHP 4.3.4rc1 and Apache 2.0.47 under
> FreeBSD).
>
> I'm having problems when updating a column of a table (it updates an extra
> column).
>
> As an example, I provide this sample (data_registre, data_ultima_connexio
> are
> the outputs of the SELECT).
>
> ** UPDATE usuaris SET data_ultima_fallada = 'NULL' WHERE userid = 'test'
> ** SELECT * FROM usuaris WHERE userid = 'test'
> --> data_registre 20031120231019
> --> data_ultima_connexio 20031120231019
>
> ** UPDATE usuaris SET data_ultima_connexio = '20031120231112' WHERE
> userid =
> 'test'
> ** SELECT * FROM usuaris WHERE userid = 'test'
> --> data_registre 20031120231112
> --> data_ultima_connexio 20031120231112
>
> The PHP statements are exactly those that begin with **, and --> shows a
> subset of a results received.
>
>
> As you can see, the last update modifies both data_registre and
> data_ultima_connexio. These updates and selects run alone and in
> sequential
> mode, so data_registre should be always the same.
>
> I really don't figure where is the problem. Moreover I add the table
> definition.
>
> CREATE TABLE usuaris (userid VARCHAR(16),
> nom_complet VARCHAR(64) NOT NULL,
> correu VARCHAR(64) NOT NULL,
> data_registre TIMESTAMP(14) NOT NULL,
> data_ultima_connexio TIMESTAMP(14),
> data_ultima_fallada TIMESTAMP(14),
> paraula_de_pas VARCHAR(32) NOT NULL,
> privilegis VARCHAR(255),
> fallades INTEGER NOT NULL,
> PRIMARY KEY (userid));
>
> Has anyone any idea that could solve this problem?
Change the TIMESTAMP columns to DATETIME.
--
Tom Thackrey
[url]www.creative-light.com[/url]
tom (at) creative (dash) light (dot) com
do NOT send email to [email]jamesbutler@willglen.net[/email] (it's reserved for spammers)
Tom Thackrey Guest
-
Wes Bailey #3
Re: php & mysql update problem
Your problem is in the design of your database table. MySQL has the
special property that the first column of TIMESTAMP datatype will
automatically be updated when a record is changed with the UPDATE DML
statement. My suggestion is to add a date_modified column before the
data_registre column and you can choose to ignore but it will solve
your problem.
Wes
> Harald Servat Gelabert <harald@cepba.upc.es> wrote in message news:
> <3FBDE2E4.952EB49E@cepba.upc.es>...
> Dear news-team
>
> I'm using MySQL 4.0.15a (with PHP 4.3.4rc1 and Apache 2.0.47 under FreeBSD).
>
> I'm having problems when updating a column of a table (it updates an extra
> column).
>
> As an example, I provide this sample (data_registre, data_ultima_connexio are
> the outputs of the SELECT).
>
> ** UPDATE usuaris SET data_ultima_fallada = 'NULL' WHERE userid = 'test'
> ** SELECT * FROM usuaris WHERE userid = 'test'
> --> data_registre 20031120231019
> --> data_ultima_connexio 20031120231019
>
> ** UPDATE usuaris SET data_ultima_connexio = '20031120231112' WHERE userid =
> 'test'
> ** SELECT * FROM usuaris WHERE userid = 'test'
> --> data_registre 20031120231112
> --> data_ultima_connexio 20031120231112
>
> The PHP statements are exactly those that begin with **, and --> shows a
> subset of a results received.
>
>
> As you can see, the last update modifies both data_registre and
> data_ultima_connexio. These updates and selects run alone and in sequential
> mode, so data_registre should be always the same.
>
> I really don't figure where is the problem. Moreover I add the table definition.
>
> CREATE TABLE usuaris (userid VARCHAR(16),
> nom_complet VARCHAR(64) NOT NULL,
> correu VARCHAR(64) NOT NULL,
> data_registre TIMESTAMP(14) NOT NULL,
> data_ultima_connexio TIMESTAMP(14),
> data_ultima_fallada TIMESTAMP(14),
> paraula_de_pas VARCHAR(32) NOT NULL,
> privilegis VARCHAR(255),
> fallades INTEGER NOT NULL,
> PRIMARY KEY (userid));
>
> Has anyone any idea that could solve this problem?
>
> Thanks in advance.
>
> --
> __________________________________________________ ______________________
> Harald Servat Gelabert (harald at cepba dot upc dot es)
> o//o Centre Europeu de Paral.lelisme de Barcelona CEPBA
> o//o [url]WWW...:[/url] [url]http://www.cepba.upc.es[/url] Tel: +34-93-401 74 23
> o//o e-mail: [email]suport@cepba.upc.es[/email] Fax: +34-93-401 25 77
> o//o CEPBA c/Jordi Girona, 1-3, Ṃdul D6. E-08034 Barcelona, Catalunya
> __________________________________________________ ______________________
>
> The fundamental difference between Unix and Macintosh operating system
> is that Unix was designed to please programmers, whereas the Mac was
> designed to please users. (Windows, on the other hand, was designed to
> please accountants, but that's another story)
> -- from The UNIX haters handbook, page 163Wes Bailey Guest



Reply With Quote

