Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 31 to 60 of 91 Next 30 Older Entries

Displaying posts with tag: PHP (english) (reset)

PDO_MYSQLND: Monday morning murders
Employee +0 Vote Up -0Vote Down

I am a member of the monday morning murder association. I murdered bugs. As said earlier, the modification of PDO_MYSQL to support both the MySQL native driver for PHP (mysqlnd) and the MySQL Client Library (AKA libmysql) is progressing. A good number of known and unknown bugs has been killed. But some new have been found as well - an overview.

(...)
Read the rest of PDO_MYSQLND: Monday morning murders (754 words)

PDO_MYSQLND: Monday morning murders
Employee +0 Vote Up -0Vote Down

I am a member of the monday morning murder association. I murdered bugs. As said earlier, the modification of PDO_MYSQL to support both the MySQL native driver for PHP (mysqlnd) and the MySQL Client Library (AKA libmysql) is progressing. A good number of known and unknown bugs has been killed. But some new have been found as well - an overview.

Please note that the status information is based on Linux 32bit and Linux 64bit testing only. We still have not done cross-platform testing recently. I spend too much time with blogging Also, I have not included some PDO_MYSQL feature requests such as the support of cursor attributes. Technically it should be possible to implement but we will focus on making "release ready" what we have today before we consider adding new features.

  [Read more...]
PDO_MYSQLND: Mighty multiple-queries and PDOStatement::nextRowset()
Employee +0 Vote Up -0Vote Down

MySQLs multiple-queries feature makes it possible to run two or more SQL commands with one function call: SQL injections made easy. The PDO design is said to be optimized for security. For security reasons PDO has gone the stony road of prepared statements. If security matters, why does PDO_MYSQL explicitly enable multiple-queries? If portability matters, why do you use a MySQL specific feature?

Mighty multiple-queries feature: performance

Multi-statement is yet another example of how optimization works: trade in one feature (security) for another (performance). Sending several SQL command with one function call saves communication round-trips. You need only one round-trip for executing n > 1 SQL statements. This

  [Read more...]
PDO_MYSQLND: Mighty multiple-queries and PDOStatement::nextRowset()
Employee +0 Vote Up -0Vote Down

MySQLs multiple-queries feature makes it possible to run two or more SQL commands with one function call: SQL injections made easy. The PDO design is said to be optimized for security. For security reasons PDO has gone the stony road of prepared statements. If security matters, why does PDO_MYSQL explicitly enable multiple-queries? If portability matters, why do you use a MySQL specific feature?

Mighty multiple-queries feature: performance

Multi-statement is yet another example of how optimization works: trade in one feature (security) for another (performance). Sending several SQL command with one function call saves communication round-trips. You need only one round-trip for executing n > 1 SQL

  [Read more...]
PDO_MYSQLND: Mighty multiple-queries and PDOStatement::nextRowset()
Employee +0 Vote Up -0Vote Down

MySQLs multiple-queries feature makes it possible to run two or more SQL commands with one function call: SQL injections made easy. The PDO design is said to be optimized for security. For security reasons PDO has gone the stony road of prepared statements. If security matters, why does PDO_MYSQL explicitly enable multiple-queries? If portability matters, why do you use a MySQL specific feature?

Mighty multiple-queries feature: performance

Multi-statement is yet another example of how optimization works: trade in one feature (security) for another (performance). Sending several SQL command with one function call saves communication round-trips. You need only

  [Read more...]
PDO: Learn how the PDO SQL parser causes bug reports
Employee +0 Vote Up -0Vote Down

The PDO SQL parser causes many bugs. All drivers suffer from it. By default the parser replaces placeholder with '<bound_value>'.'<bound_value>' is a string. This can clash with the SQL syntax. PDO can make an INSERT fail. Please learn why and stop reporting bogus bugs.

Why does PDO parse my SQL commands?

PDO has chosen Prepared Statements as its preferred way of running database queries. The entire API is build around prepared statements. Wez has explained that primarily security considerations have caused this decision. Read PDO_MYSQLND: Prepared Statements, again for a discussion of prepared statements in the context of PDO.

Not every database system supports prepared statements. And those who do use a different syntax for placeholder. Some systems

  [Read more...]
PDO: Learn how the PDO SQL parser causes bug reports
Employee +0 Vote Up -0Vote Down

The PDO SQL parser causes many bugs. All drivers suffer from it. By default the parser replaces placeholder with '<bound_value>'.'<bound_value>' is a string. This can clash with the SQL syntax. PDO can make an INSERT fail. Please learn why and stop reporting bogus bugs.

Why does PDO parse my SQL commands?

PDO has chosen Prepared Statements as its preferred way of running database queries. The entire API is build around prepared statements. Wez has explained that primarily security considerations have caused this decision. Read PDO_MYSQLND: Prepared Statements, again for a discussion of prepared statements in the context of PDO.

Not every database system supports prepared statements. And those who do use a different syntax for

  [Read more...]
PDO: Learn how the PDO SQL parser causes bug reports
Employee +0 Vote Up -0Vote Down

The PDO SQL parser causes many bugs. All drivers suffer from it. By default the parser replaces placeholder with '<bound_value>'.'<bound_value>' is a string. This can clash with the SQL syntax. PDO can make an INSERT fail. Please learn why and stop reporting bogus bugs.

Why does PDO parse my SQL commands?

PDO has chosen Prepared Statements as its preferred way of running database queries. The entire API is build around prepared statements. Wez has explained that primarily security considerations have caused this decision. Read PDO_MYSQLND: Prepared Statements, again for a discussion of prepared statements in the context of PDO.

Not every database system supports prepared statements. And those who do use a

  [Read more...]
PDO_MYSQLND: Calling Stored Procedures works fine with mysqlnd
Employee +0 Vote Up -0Vote Down

Mike is asking I`m hoping that MySQL stored procedures will work properly. Especially multiple calls in one request. in reply to PDO_MYSQLND: R[a|u]mbling and a breeze of progress. Mike, it depends what you mean by "properly". If you use the API properly it works fine with mysqlnd. Read on for code examples.

  mysqlnd libmysql   Emulated PS Native PS Emulated PS Native PS buffered fetch PASS PASS PASS* PASS* unbuffered fetch PASS PASS PASS* PASS*   * See below!

Executing a basic stored procedure twice

Code take from the internal test pdo_mysql_attr_oracle_nulls.phpt. Status: PASS. NOTE the use of $stmt->nextRowset(). If you do not call $stmt->nextRowset() in a loop to fetch all result sets you will get the usual 2014 error.

  [Read more...]
PDO_MYSQLND: Calling Stored Procedures works fine with mysqlnd
Employee +0 Vote Up -0Vote Down

Mike is asking I`m hoping that MySQL stored procedures will work properly. Especially multiple calls in one request. in reply to PDO_MYSQLND: R[a|u]mbling and a breeze of progress. Mike, it depends what you mean by "properly". If you use the API properly it works fine with mysqlnd. Read on for code examples.

  mysqlnd libmysql   Emulated PS Native PS Emulated PS Native PS buffered fetch PASS PASS PASS* PASS* unbuffered fetch PASS PASS PASS* PASS*   * See below!

Executing a basic stored procedure twice

Code take from the internal test pdo_mysql_attr_oracle_nulls.phpt. Status: PASS. NOTE the use of $stmt->nextRowset(). If you do not call $stmt->nextRowset() in a loop to fetch all result sets you will get the

  [Read more...]
PDO_MYSQLND: Calling Stored Procedures works fine with mysqlnd
Employee +0 Vote Up -0Vote Down

Mike is asking I`m hoping that MySQL stored procedures will work properly. Especially multiple calls in one request. in reply to PDO_MYSQLND: R[a|u]mbling and a breeze of progress. Mike, it depends what you mean by "properly". If you use the API properly it works fine with mysqlnd. Read on for code examples.

  mysqlnd libmysql   Emulated PS Native PS Emulated PS Native PS buffered fetch PASS PASS PASS* PASS* unbuffered fetch PASS PASS PASS* PASS*   * See below!

Executing a basic stored procedure twice

Code take from the internal test pdo_mysql_attr_oracle_nulls.phpt. Status: PASS. NOTE the use of $stmt->nextRowset(). If you do not call $stmt->nextRowset() in a loop

  [Read more...]
PDO_MYSQLND: R[a¦u]mbling and a breeze of progress
Employee +0 Vote Up -0Vote Down

The modification of PDO_MYSQL to support the MySQL native driver for PHP (mysqlnd) is progressing. We are using the project title “PDO_MYSQLND” for the modification. The goal of PDO_MYSQLND is to provide a PDO driver for MySQL which can be compiled either against the MySQL Client Library or against the MySQL native driver for PHP. This is the same type of modification we did with ext/mysql and ext/mysqli already.

The use of any of the libraries is transparent for the PHP user. You may continue to use the MySQL Client Library, like you do today with PDO_MYSQL, or give mysqlnd a try. The MySQL native driver for PHP (mysqlnd) is easier to compile as its tightly integreated into the PHP internals and ships with PHP as of version PHP 5.3. In case of ext/mysql and ext/mysqli our benchmarks and first user feedback indicates that mysqlnd gives you at least the same performance of libmysql. And

  [Read more...]
PDO_MYSQLND: R[a¦u]mbling and a breeze of progress
Employee +0 Vote Up -0Vote Down

The modification of PDO_MYSQL to support the MySQL native driver for PHP (mysqlnd) is progressing. We are using the project title “PDO_MYSQLND” for the modification. The goal of PDO_MYSQLND is to provide a PDO driver for MySQL which can be compiled either against the MySQL Client Library or against the MySQL native driver for PHP. This is the same type of modification we did with ext/mysql and ext/mysqli already.

The use of any of the libraries is transparent for the PHP user. You may continue to use the MySQL Client Library, like you do today with PDO_MYSQL, or give mysqlnd a try. The MySQL native driver for PHP (mysqlnd) is easier to compile as its tightly integreated into the PHP internals and ships with PHP as of version PHP 5.3. In case of ext/mysql and ext/mysqli our benchmarks and first user feedback indicates that mysqlnd gives you at least the same performance of

  [Read more...]
PDO_MYSQLND: R[a¦u]mbling and a breeze of progress
Employee +0 Vote Up -0Vote Down

The modification of PDO_MYSQL to support the MySQL native driver for PHP (mysqlnd) is progressing. We are using the project title “PDO_MYSQLND” for the modification. The goal of PDO_MYSQLND is to provide a PDO driver for MySQL which can be compiled either against the MySQL Client Library or against the MySQL native driver for PHP. This is the same type of modification we did with ext/mysql and ext/mysqli already.

The use of any of the libraries is transparent for the PHP user. You may continue to use the MySQL Client Library, like you do today with PDO_MYSQL, or give mysqlnd a try. The MySQL native driver for PHP (mysqlnd) is easier to compile as its tightly integreated into the PHP internals and ships with PHP as of version PHP 5.3. In case of ext/mysql and ext/mysqli our benchmarks and first user feedback indicates that mysqlnd gives you at least

  [Read more...]
PDO_MYSQLND: Prepared Statements, again
Employee +0 Vote Up -0Vote Down

Server-side Prepared Statements are an outdated technology from ancient times, are they? Brian gives a long list of arguments in his blog posting “Prepared Statements, Musings” why one should think twice before using server-side prepared statements. PDO does enforce the use of prepared statements for all statements which return a result set. Good or bad?

  [Read more...]
PDO_MYSQLND: Prepared Statements, again
Employee +0 Vote Up -0Vote Down

Server-side Prepared Statements are an outdated technology from ancient times, are they? Brian gives a long list of arguments in his blog posting “Prepared Statements, Musings” why one should think twice before using server-side prepared statements. PDO does enforce the use of prepared statements for all statements which return a result set. Good or bad?

  [Read more...]
PDO_MYSQLND: Prepared Statements, again
Employee +0 Vote Up -0Vote Down

Server-side Prepared Statements are an outdated technology from ancient times, are they? Brian gives a long list of arguments in his blog posting “Prepared Statements, Musings” why one should think twice before using server-side prepared statements. PDO does enforce the use of prepared statements for all statements which return a result set. Good or bad?

  [Read more...]
PHP: PDO_MYSQLND 1.0.2-alpha released
Employee +0 Vote Up -0Vote Down

I am glad to announce the availability of the first alpha version of PDO_MYSQLND. PDO_MYSQLND is a PHP PDO driver for MySQL based on the MySQL native driver. PDO_MYSQLND 1.0.2-alpha is available for download on http://downloads.mysql.com/forge/pdo_mysqlnd_preview. Please read the announcement and check the MySQL Forge project page on PDO_MYSQLND for further information.

What is PDO_MYSQLND?

PDO (PHP Data Objects) is a data-access abstraction layer for PHP. PDO consists of a core and a rich set of database specific drivers. Traditionally there has been one PDO driver for MySQL called PDO_MYSQL. PDO_MYSQL is a

  [Read more...]
PHP: PDO_MYSQLND 1.0.2-alpha released
Employee +0 Vote Up -0Vote Down

I am glad to announce the availability of the first alpha version of PDO_MYSQLND. PDO_MYSQLND is a PHP PDO driver for MySQL based on the MySQL native driver. PDO_MYSQLND 1.0.2-alpha is available for download on http://downloads.mysql.com/forge/pdo_mysqlnd_preview. Please read the announcement and check the MySQL Forge project page on PDO_MYSQLND for further information.

What is PDO_MYSQLND?

PDO (PHP Data Objects) is a data-access abstraction layer for PHP. PDO consists of a core and a rich set of database specific drivers. Traditionally there has been one PDO driver for MySQL called PDO_MYSQL.

  [Read more...]
PHP: PDO_MYSQLND 1.0.2-alpha released
Employee +0 Vote Up -0Vote Down

I am glad to announce the availability of the first alpha version of PDO_MYSQLND. PDO_MYSQLND is a PHP PDO driver for MySQL based on the MySQL native driver. PDO_MYSQLND 1.0.2-alpha is available for download on http://downloads.mysql.com/forge/pdo_mysqlnd_preview. Please read the announcement and check the MySQL Forge project page on PDO_MYSQLND for further information.

What is PDO_MYSQLND?

PDO (PHP Data Objects) is a data-access abstraction layer for PHP. PDO consists of a core and a rich set of database specific drivers. Traditionally there has been one PDO driver for MySQL called

  [Read more...]
PHP: PDO_MYSQLND for PHP preview released
Employee +0 Vote Up -0Vote Down

Minutes ago (when writing this), we have released a first preview version of PDO_MYSQLND for PHP together with the first preview version of MySQL Connector/OpenOffice.org. Minutes ago, both new developments have been announced at the MySQL Conference.

PDO_MYSQLND announcement explained

We will explain you in more detail what both products are about during the next days. Let me start with a brief overview on PDO_MYSQLND and allow me to cite the announcement.

(...)
Read the rest of PHP: PDO_MYSQLND for PHP preview released (739 words)

PHP: PDO_MYSQLND for PHP preview released
Employee +0 Vote Up -0Vote Down

Minutes ago (when writing this), we have released a first preview version of PDO_MYSQLND for PHP together with the first preview version of MySQL Connector/OpenOffice.org. Minutes ago, both new developments have been announced at the MySQL Conference.

PDO_MYSQLND announcement explained

We will explain you in more detail what both products are about during the next days. Let me start with a brief overview on PDO_MYSQLND and allow me to cite the announcement.

(...)
Read the rest of PHP: PDO_MYSQLND for PHP preview released (739 words)

PHP: PDO_MYSQLND for PHP preview released
Employee +0 Vote Up -0Vote Down

Minutes ago (when writing this), we have released a first preview version of PDO_MYSQLND for PHP together with the first preview version of MySQL Connector/OpenOffice.org. Minutes ago, both new developments have been announced at the MySQL Conference.

PDO_MYSQLND announcement explained

We will explain you in more detail what both products are about during the next days. Let me start with a brief overview on PDO_MYSQLND and allow me to cite the announcement.


The first preview version of PDO_MYSQLND for PHP has been released. PDO_MYSQLND is a new driver for PDO (PHP Data


  [Read more...]
PHP: ext/mysqli result sets and foreach()
Employee +0 Vote Up -0Vote Down

What does any developer do during a train trip? Correct, he’s hacking. He’s at least working on bells and whistles such as foreach() support for buffered ext/mysqli result sets in mysqlnd. Thanks Andrey!

$link = mysqli_connect('host', 'user', 'password');
$res = mysqli_query($link, 'SHOW TABLES FROM mysql');
foreach ($res as $row)
  var_dump($row);
mysqli_free_result($res);
mysqli_close($link);

Note: SVN/CVS only, mysqlnd only, buffered result sets only, no way to enforce any other fetch mode but MYSQLI_FETCH_ASSOC - but quite handy anyway.

PHP: ext/mysqli result sets and foreach()
Employee +0 Vote Up -0Vote Down

What does any developer do during a train trip? Correct, he’s hacking. He’s at least working on bells and whistles such as foreach() support for buffered ext/mysqli result sets in mysqlnd. Thanks Andrey!

$link = mysqli_connect('host', 'user', 'password');
$res = mysqli_query($link, 'SHOW TABLES FROM mysql');
foreach ($res as $row)
  var_dump($row);
mysqli_free_result($res);
mysqli_close($link);

Note: SVN/CVS only, mysqlnd only, buffered result sets only, no way to enforce any other fetch mode but MYSQLI_FETCH_ASSOC - but quite handy anyway.

PHP: ext/mysqli result sets and foreach()
Employee +0 Vote Up -0Vote Down

What does any developer do during a train trip? Correct, he’s hacking. He’s at least working on bells and whistles such as foreach() support for buffered ext/mysqli result sets in mysqlnd. Thanks Andrey!

$link = mysqli_connect('host', 'user', 'password');
$res = mysqli_query($link, 'SHOW TABLES FROM mysql');
foreach ($res as $row)
  var_dump($row);
mysqli_free_result($res);
mysqli_close($link);

Note: SVN/CVS only, mysqlnd only, buffered result sets only, no way to enforce any other fetch mode but MYSQLI_FETCH_ASSOC - but quite handy anyway.

PHP: Is PDO::FETCH_UNIQUE broken by design?
Employee +0 Vote Up -0Vote Down

Unimpressed by the ongoing PDO 2 debate, we have continued working on PDO/mysqlnd for MySQL. It turned out that the current status of PDO makes developing and testing a new driver a challenge. I spent quite a lot of time comparing the different behaviours of the various drivers in the hope I could find out how PDO drivers are supposed to work. The PDO documentation and the specification do not cover each and every detail. PDO really needs some love…

Why do people suggest to improve PDO before kicking-off a PDO 2 project?

The challenge of the day was to find out what PDO::FETCH_UNIQUE is about. All what the first page of the PDO manual tells you is, that is is a predefined (class) constant of the type INT. But luckily, there is more to learn about it on the manual page of

  [Read more...]
PHP: Is PDO::FETCH_UNIQUE broken by design?
Employee +0 Vote Up -0Vote Down

Unimpressed by the ongoing PDO 2 debate, we have continued working on PDO/mysqlnd for MySQL. It turned out that the current status of PDO makes developing and testing a new driver a challenge. I spent quite a lot of time comparing the different behaviours of the various drivers in the hope I could find out how PDO drivers are supposed to work. The PDO documentation and the specification do not cover each and every detail. PDO really needs some love…

Why do people suggest to improve PDO before kicking-off a PDO 2 project?

The challenge of the day was to find out what PDO::FETCH_UNIQUE is about. All what the first page of the PDO manual tells you is, that is is a predefined (class) constant of the type INT. But luckily, there is more to learn about it on the manual page of

  [Read more...]
PHP: Is PDO::FETCH_UNIQUE broken by design?
Employee +0 Vote Up -0Vote Down

Unimpressed by the ongoing PDO 2 debate, we have continued working on PDO/mysqlnd for MySQL. It turned out that the current status of PDO makes developing and testing a new driver a challenge. I spent quite a lot of time comparing the different behaviours of the various drivers in the hope I could find out how PDO drivers are supposed to work. The PDO documentation and the specification do not cover each and every detail. PDO really needs some love…

Why do people suggest to improve PDO before kicking-off a PDO 2 project?

The challenge of the day was to find out what PDO::FETCH_UNIQUE is about. All what the first page of the PDO manual tells you is, that is is a predefined (class) constant of the type INT. But luckily, there is more to learn about it on the manual page of

  [Read more...]
PHP: ping mysqlnd.team
Employee +0 Vote Up -0Vote Down

PING mysqlnd.team (MySQL) - 56(84) bytes of data
64 bytes from mysqlnd.team - icmp_seq=1 ttl=3weeks time=1month


Yes, there are delays. But not for the reason that we are having any problems. We have been borrowed out to other teams recently. A short status report.

PONG from mysqlnd.team

Andrey could not resist and has continued researching on parallel and background query operation. Georg was not too happy about this. Not that Georg does not support the idea, no, but Andrey had some other urgent assignments. Well, Andrey sometimes works in sort of waves: do little for some time, hack like crazy on other days. Again, Miha Nedok from http://www.izklop.com/, our alpha-beta-everything-tester number one, has given Andrey’s code studies a test drive and he did not regret it. However,


  [Read more...]
Previous 30 Newer Entries Showing entries 31 to 60 of 91 Next 30 Older Entries

Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.