Re: what to do if a query fails

From: "Papp, Gyozo" <pgerzson(at)freestart(dot)hu>
To: "Hillensbeck, Preston" <PHillensbeck(at)sfbcic(dot)com>, <pgsql-php(at)postgresql(dot)org>
Subject: Re: what to do if a query fails
Date: 2002-04-18 08:25:33
Message-ID: 00e901c1e6b5$dc7e0540$01fdfea9@jaguar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

Hi,

I summarized what to do if a query fails. It's advisable to:

+ var_dump() all variables ($connection, $query and all used in $query)
+ log your queries to see what postgres tries to do
+ check the table definition
+ use explicit column list in INSERT
(even so, future pg release may not support abbreviated INSERT syntax)

and some additional notes not related to the original topic:

| $conn=pg_connect("host=192.168.0.2 user=postgres password=postgres
| dbname=checkbook");

+ do not connect in to postgres as superuser!
+ escape and quote all user input sent to database backend!
(consider using addslashes(), sprintf(), etc.)

For detailed information visit:
http://www.php.net/manual/en/security.database.php

----- Original Message -----
From: "Hillensbeck, Preston" <PHillensbeck(at)sfbcic(dot)com>
To: <pgsql-php(at)postgresql(dot)org>
Sent: Wednesday, April 17, 2002 11:03 PM
Subject: [PHP]

| I am currently experiencing a problem passing data from a PHP page to
| PostgreSQL.
|
| I am passing different data types like numeric, and text. Let me show you
| some of the code I am using....
|
| This is the code that I am using to pass the input data to a page called
| "checkbook2.php"
|
| <form action="checkbook2.php" method="GET">
| <p align="center">Check Date
| <input type="text" name="check_date" VALUE="">
| Check Number
| <input type="text" name="check_number" VALUE="">
| Check Payee
| <input type="text" name="check_payee" VALUE="">
| Check Amount
| <input type="text" name="check_amount" VALUE="">
| </p>
| <p align="center">Check Transaction Type
| <input type="text" name="check_trans_type" VALUE="">
| </p>
| <input type=submit value="Add New Entry">
| </form>
|
| This is the data from the checkbook2.php that talks to the PostgreSQL
| Server. It is running version 7.2.
|
| $conn=pg_connect("host=192.168.0.2 user=postgres password=postgres
| dbname=checkbook");
|
| @$sql="INSERT INTO checking VALUES('$check_date', '$check_num',
| '$check_pay', '$check_amount', '$check_trans_type');";
|
| $result=pg_exec($conn, $sql);
|
| check_data is type text
| check_num is type int4
| check_pay is type text
| check_amount is type numeric(8,2)
| check_trans_type is type text
|
| The error that comes up is ...
| Warning: PostgreSQL query failed: ERROR: Bad numeric input format
| 'check_trans_type' in /etc/httpd/htdocs/checkbook2.php on line 41
|
| Anyone know what could be going on here?? Please let me know, thanks in
| advance! :)
|
|
|
| ---------------------------(end of broadcast)---------------------------
| TIP 2: you can get off all lists at once with the unregister command
| (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

In response to

  • at 2002-04-17 21:03:21 from Hillensbeck, Preston

Browse pgsql-php by date

  From Date Subject
Next Message Papp, Gyozo 2002-04-18 08:55:53 Re: PERFORMANCE
Previous Message Jean-Michel POURE 2002-04-18 08:17:56 Re: PERFORMANCE