Re: what to do if a query fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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@xxxxxxxxxx>
To: <pgsql-php@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxx)



[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux