[prev in list] [next in list] [prev in thread] [next in thread]
List: php-cvs
Subject: [PHP-CVS] cvs: php-src(PHP_5_1) /ext/pdo_mysql mysql_driver.c
From: "George Schlossnagle" <gschlossnagle () php ! net>
Date: 2005-08-31 4:06:11
Message-ID: cvsgschlossnagle1125461171 () cvsserver
[Download RAW message or body]
gschlossnagle Wed Aug 31 00:06:11 2005 EDT
Modified files: (Branch: PHP_5_1)
/php-src/ext/pdo_mysql mysql_driver.c
Log:
MFH, fix 34072
http://cvs.php.net/diff.php/php-src/ext/pdo_mysql/mysql_driver.c?r1=1.59&r2=1.59.2.1&ty=u
Index: php-src/ext/pdo_mysql/mysql_driver.c
diff -u php-src/ext/pdo_mysql/mysql_driver.c:1.59 \
php-src/ext/pdo_mysql/mysql_driver.c:1.59.2.1
--- php-src/ext/pdo_mysql/mysql_driver.c:1.59 Tue Jul 19 23:38:32 2005
+++ php-src/ext/pdo_mysql/mysql_driver.c Wed Aug 31 00:06:10 2005
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysql_driver.c,v 1.59 2005/07/20 03:38:32 iliaa Exp $ */
+/* $Id: mysql_driver.c,v 1.59.2.1 2005/08/31 04:06:10 gschlossnagle Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -188,6 +188,13 @@
if (mysql_stmt_prepare(S->stmt, sql, sql_len)) {
/* TODO: might need to pull statement specific info here? */
+ /* if the query isn't supported by the protocol, fallback to emulation */
+ if (mysql_errno(H->server) == 1295) {
+ if (nsql) {
+ efree(nsql);
+ }
+ goto fallback;
+ }
pdo_mysql_error(dbh);
if (nsql) {
efree(nsql);
@@ -212,9 +219,9 @@
return 1;
-#else
- stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;
+fallback:
#endif
+ stmt->supports_placeholders = PDO_PLACEHOLDER_NONE;
return 1;
}
@@ -388,7 +395,7 @@
#endif
;
- php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 4);
+ php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 5);
H = pecalloc(1, sizeof(pdo_mysql_db_handle), dbh->is_persistent);
@@ -415,14 +422,15 @@
goto cleanup;
}
}
-
+
+ dbname = vars[1].optval;
+ host = vars[2].optval;
+ if(vars[3].optval) {
+ port = atoi(vars[3].optval);
+ }
if (vars[2].optval && !strcmp("localhost", vars[2].optval)) {
unix_socket = vars[4].optval;
- } else {
- host = vars[2].optval;
- port = atoi(vars[3].optval);
}
- dbname = vars[1].optval;
if (mysql_real_connect(H->server, host, dbh->username, dbh->password, dbname, port, \
unix_socket, connect_opts) == NULL) { pdo_mysql_error(dbh);
goto cleanup;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic