Commit Graph

235 Commits

Author SHA1 Message Date
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Xinchen Hui
fd3fa9b53c Fixed Bug #66043 (Segfault calling bind_param() on mysqli)
Although the doc said it is (unsigned int *), but it is ulong* in the
libmysql 5.0 's source codes
2013-11-08 15:06:36 +08:00
Andrey Hristov
d430b5a4eb Add mysqli support - constants and checking in mysqli_options() for the
new constant for password expriration
2013-01-09 19:14:48 +01:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Andrey Hristov
8fb6bdd5b8 Split struct MYSQLND in struct MYSQLND and struct MYSQLD_CONN_DATA.
A step in the direction of keeping internal data private
2011-10-31 11:46:24 +00:00
Andrey Hristov
f926a3c07d Move from directly referencing an aggregated structure to using a
pointer to a structure. The structure is still aggregated but we add
a level of indirection for possible plugins to overwrite the storage
2011-10-25 23:01:49 +00:00
Xinchen Hui
26c1a62b34 Fix Bug #55703(PHP crash when calling mysqli_fetch_fields)
Since the catalog values always is "def" now, see http://dev.mysql.com/doc/refman/5.0/en/c-api-data-structures.html
2011-09-17 03:12:23 +00:00
Xinchen Hui
6b57319cf4 Fixed Bug #55653(PS crash with libmysql when binding same variable as param and out)
Actually this caused by attempt to efree a INTERNED string
2011-09-10 03:51:16 +00:00
Andrey Hristov
5308ed60f3 Fix for Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used 2011-09-05 15:29:45 +00:00
Andrey Hristov
1a5b1da9c1 Remove a warning by explicitly compiling out a non-used variable 2011-08-02 15:30:58 +00:00
Kalle Sommer Nielsen
5ba90aefb0 Added 'catalog' to the field fetching functions in mysqli (Thanks to Johannes for the headsup) 2011-01-17 10:43:53 +00:00
Andrey Hristov
5ca5c2bf43 Change things to allow passing of the password length
to mysqlnd. This is needed as a password might include
a \0 and thus we need to be binary safe.
2011-01-14 13:00:42 +00:00
Kalle Sommer Nielsen
69a3575b38 Implemented FR #39847 (mysqli_fetch_[field|fields|field_direct] need to return db) 2011-01-07 18:25:55 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Andrey Hristov
332b953865 Fix bad types, because zend_parse_xxx expect signed integers
for lengths, no matter how stupid this is :)
2010-11-10 13:57:09 +00:00
Andrey Hristov
1f9cf93cac Fix for Bug #52686 mysql_stmt_attr_[gs]et arg. points to incorrect type 2010-10-06 11:11:02 +00:00
Ulf Wendel
e20c62d3be Sorry for the commit but compiler warnings are annoying and so are white spaces at the end of a line, if one uses an editor which removes them on save and diff's get blown
up by white space changes...

Changes: 
- remove end of line white space
- fix compiler warning "ext/mysqli/mysqli_priv.h:156:27: warning: no newline at end of file"
- fix compiler warning "ext/mysqli/mysqli_fe.h:135:25: warning: no newline at end of file"
- fix compiler warning "ext/mysqli/mysqli.c:896:11: warning: extra tokens at end of #ifdef directive"
2010-10-04 10:02:58 +00:00
Andrey Hristov
77d73b814b Plug a leak in mysqli when in the same script
a pconn is reused.
Call end_psession earlier - so will mysqlnd and
the plugins free data earlier.
2010-09-30 18:10:03 +00:00
Ulf Wendel
42fea46887 Adding MYSQLI_OPT_SSL_VERIFY_SERVER_CERT for use with mysqli_options(). 2010-08-30 16:59:10 +00:00
Andrey Hristov
67ef72018f Fix for bug #52654 mysqli doesn't install headers with structures it uses 2010-08-20 12:25:17 +00:00
Andrey Hristov
4637e3641f And a fix for MySQL Server which is pre 5.1.23, which doesn't support
preserving of the charset when performing change_user. This is libmysql
only code.
2010-06-14 18:19:13 +00:00
Andrey Hristov
c7831cbe27 defensive programming, check before using a resource 2010-06-01 14:16:27 +00:00
Ulf Wendel
f0446ca9e3 Fixing mysqli_stmt_attr_set @ libmysql 2010-05-31 12:10:04 +00:00
Andrey Hristov
1228c92303 Check before use, because mysqlnd can return NULL
and this will crash. However, this can happen only in case of OOM.
2010-05-27 12:44:10 +00:00
Andrey Hristov
ce682f1b26 Add checks to check the underlying pointer in the resource.
It can happen that the underlying pointer is freed (like in
the case of connection reconnect), and then it cannot be allocated
anymore, which means that NULL will be used consequently by the
functions that fetch the resource and the crash is immediate.
2010-05-26 07:28:43 +00:00
Andrey Hristov
940e64dba3 Remove duplicated code.
Use one centralized functions for data extraction.
2010-05-18 11:50:31 +00:00
Andrey Hristov
6cefa510d6 Better fix for #51605 2010-05-13 11:05:09 +00:00
Andrey Hristov
41ad139d17 Fix for bug #51605 (Mysqli zombie links) 2010-05-11 10:03:16 +00:00
Kalle Sommer Nielsen
dd8e59da8f Removed safe_mode
* Removed ini options, safe_mode*
 * Removed --enable-safe-mode --with-exec-dir configure options on Unix
 * Updated extensions, SAPI's and core
 * php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
2010-04-26 23:53:30 +00:00
Felipe Pena
623a25728a - Fix mem. leak 2010-04-21 12:52:24 +00:00
Andrey Hristov
c04f752625 Fix for bug#49234 method not found ssl_set
Patch was tested and compiles on Windows. (Thanks Kalle)
2010-04-15 11:01:30 +00:00
Andrey Hristov
8467978d7a Fix for bug #51026 ssl not working 2010-04-08 09:01:21 +00:00
Andrey Hristov
ccfd9cd744 allow persistency of PS 2010-03-12 13:03:46 +00:00
Andrey Hristov
6407250e70 Fix for bug#50772
mysqli constructor without parameters does not return a working mysqli object
2010-01-25 13:23:32 +00:00
Andrey Hristov
36a037d236 Fix build of mysqli when libmysql is used, mysqlnd_portability.h
might not be available for some weird reasons. Added the macros
that we need, in that case

Code by Jess Portnoy
2010-01-14 09:47:57 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Andrey Hristov
01adfaee5f Unify. The typedef-ed structs in mysqlnd are always capitalized. 2009-12-23 11:58:45 +00:00
Rasmus Lerdorf
2bdd3538de Fix broken build.
This constant is not in older versions of MySQL.
2009-12-01 21:39:19 +00:00
Ulf Wendel
4a95aa3989 Fix for bug #49965 . Let mysqli_options() try to cast option values to the appropriate type. 2009-11-03 14:56:04 +00:00
Ulf Wendel
ab4670ee53 Fixing problems when calling connect (again and again) on a valid connection handle. Most of the patch comes from Andrey. 2009-10-15 15:49:40 +00:00
Andrey Hristov
3828ca158e Fix mysqli_stmt_attr_set in libmysql mode.
mysql_stmt_attr_set returns my_bool instead of int.
If it was int, then 0 is success and !0 is failure, but
for my_bool 0 (FALSE) is failure and !0 is success.
2009-09-25 12:25:54 +00:00
Andrey Hristov
9b44cbb490 Remove unused variable 2009-09-25 10:55:06 +00:00
Andrey Hristov
eea0660def Fix error code checking for mysql_stmt_attr_set. There
is a test that checks this.
2009-09-25 10:52:29 +00:00
Andrey Hristov
dcb5c5b0a4 MFH: Fix handling of BIT fields in mysqli, when libmysql is used
We need to use macros from mysqlnd to be able to read the
bit fields, as they are specially encoded. mysqlnd is always
there, 5.3+, so its macros can be used, even if mysqlnd is
not compiled as library of choice.
2009-09-22 13:59:29 +00:00
Andrey Hristov
967239727e MFH:Fix for bug#48909 Segmentation fault in mysqli_stmt_execute 2009-09-18 14:33:08 +00:00
Ulf Wendel
617b4e9bd1 Fix for bug #49357 (MySQLi extension fails to recognize POINT (spatial) colums).
Do yourself a favour and use mysqlnd. mysqlnd has no isuses here.

If you insist on using the MySQL Client Library (libmysql) I strongly recommend to use mysqli_stmt_store_result() when fetching geometry data using prepared statements. When streaming data, which is the default for prepared statements, ext/mysqli will have to make a guess on the size of the result buffer it needs. The guess is based on a length reported by the MySQL CLient Library (libmysql). The MySQL Client Library reports 4GB (!) for a POINT - a conservative and safe guess. Consequently, ext/mysqli will try to allocate 4GB of RAM. The true (maximum) size of the column is not available before buffering the result on the client using mysqli_stmt_store_result(). If you call mysqli_stmt_store_result(), the result buffers will not get bigger than needed. However, store_result()/buffering is usually not what you want when you ask for prepared statements.
2009-09-11 13:38:47 +00:00
Ulf Wendel
5dfd12ddb7 Stepping back to PHP 5.2.x and earlier logic of allocating even huge pieces of memory for large BLOB types to avoid data truncation. This fixes the test failure of 005.phpt when using MySQL Client
Library (libmysql). The test does pass with mysqlnd because mysqlnd does not have any issues here.
2009-09-11 12:28:47 +00:00
Ulf Wendel
c4c11fd38a Fixing a crash which must have existed since PHP 5.0. At least the crash can be reproduced with PHP 5.0.6. The crash happens only when using the MySQL Client Library (libmysql) - it does not happen
when using mysqlnd.
2009-09-11 12:16:56 +00:00
Jani Taskinen
b312b3af2e - Revert bad fix for bug #49122 and only enable this when mysqlnd is used 2009-08-04 14:49:33 +00:00