Re: what to do if a query fails - Mailing list pgsql-php

From Papp, Gyozo
Subject Re: what to do if a query fails
Date
Msg-id 00e901c1e6b5$dc7e0540$01fdfea9@jaguar
Whole thread Raw
In response to  ("Hillensbeck, Preston" <PHillensbeck@sfbcic.com>)
List 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@sfbcic.com>
To: <pgsql-php@postgresql.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@postgresql.org)


pgsql-php by date:

Previous
From: Jean-Michel POURE
Date:
Subject: Re: PERFORMANCE
Next
From: "Papp, Gyozo"
Date:
Subject: Re: PERFORMANCE