Re: php PDO does not work [message #177295 is a reply to message #177292] |
Mon, 05 March 2012 13:04 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 3/5/2012 4:23 AM, "Álvaro G. Vicario" wrote:
> El 03/03/2012 16:10, test japan escribió/wrote:
>> i installed php and mysql on archlinux by pacman,
>> and in phpinfo page, i can see the infomation about mysql& pdo_mysql
>>
>> in php.ini, i uncommented the following lines:
>> extension=mysqli.so
>> extension=mysql.so
>
> As far as I know, these are unrelated to PDO.
>
>
>> extension=pdo_mysql.so
>
> Correct, this is the PDO driver for MySQL, though I don't really
> understand why pdo_mysql actually showed up in phpinfo() if this line
> was commented out :-?
>
>
>> but when running the code below, the browser shows a blank page
>> no result, even no error message.
>>
>> try {
>> $dbh = new PDO("mysql:host=192.168.0.1;dbname=testdb", "username",
>> "password");
>> echo 'Connected to database!!';
>> } catch (PDOException ex) {
>> echo $ex->getMessage();
>
> Assuming there's a PHP start tag, you should be getting this:
>
> Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE
>
> I suggest you configure your development box to display all possible
> errors. You have several ways to do so:
>
> 1. Edit your "php.ini" file:
>
> error_reporting = E_ALL | E_STRICT
> display_errors = On
>
> 2. Put this on top of your script:
>
> <?php
> error_reporting(E_ALL | E_STRICT);
> ini_set('display_errors', TRUE);
>
This will not catch parse errors because the code is never executed.
> 3. If PHP runs as Apache module, you can also use an `.htaccess` file:
>
> # You cannot use PHP constants here
> php_value error_reporting -1
> php_flag display_errors on
>
The httpd.conf file must be set up to allow this, of course (I got
caught on this one recently).
> This is not specifically related to PDO, it's how PHP error reporting
> works in general.
>
>
>
> Additionally, PDO will not throw exceptions unless you tell it to
> because the default mode is PDO::ERRMODE_SILENT:
>
> http://es2.php.net/manual/en/pdo.error-handling.php
>
> This also implies that you cannot use exceptions to capture connection
> errors unless you set PDO::ERRMODE_EXCEPTION in the constructor.
>
>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|