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)
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 |