Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #5109

Re: php PDO does not work

From "Álvaro G. Vicario" <alvaro.NOSPAMTHANX@demogracia.com.invalid>
Newsgroups comp.lang.php
Subject Re: php PDO does not work
Date 2012-03-05 10:23 +0100
Organization http://alvaro.es/
Message-ID <jj20mg$bbh$1@dont-email.me> (permalink)
References <427252.950.1330787450521.JavaMail.geo-discussion-forums@pbcwi5>

Show all headers | View raw


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

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

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.


-- 
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://borrame.com
-- Mi web de humor satinado: http://www.demogracia.com
--

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

php PDO does not work test japan <testatjapan@gmail.com> - 2012-03-03 07:10 -0800
  Re: php PDO does not work Luuk <luuk@invalid.lan> - 2012-03-03 16:34 +0100
  Re: php PDO does not work Jerry Stuckle <jstucklex@attglobal.net> - 2012-03-03 12:59 -0500
    Re: php PDO does not work test japan <testatjapan@gmail.com> - 2012-03-03 17:08 -0800
  Re: php PDO does not work "Álvaro G. Vicario" <alvaro.NOSPAMTHANX@demogracia.com.invalid> - 2012-03-05 10:23 +0100
    Re: php PDO does not work Jerry Stuckle <jstucklex@attglobal.net> - 2012-03-05 08:04 -0500

csiph-web