ID: 46997 Comment by: mark at kramtek dot com dot au Reported By: dangerousdave86 at hotmail dot com Status: No Feedback Bug Type: MySQLi related Operating System: win32 only - W Server 2008 Std PHP Version: 5.2.8 New Comment:
Same problem, seems to be column related. Test cases below Cheers, Mark <?php // MySQL libmysql.dll version from MySQL 5.1.30 ( Version 5.1.30 ) // PHP version 5.2.8 // When using the libmysql.dll version that came with PHP 5.2.8 all works fine ( version is 5.0.51a ) // Problem seems to be when multiple columns are mentioned. // OS Windows Vista on IIS 7 // Browser IE7 and FireFox ( Only Firefox shows the error, IE7 gives a HTTP 500 error ) // PHP version 5.2.8 ( ISAPI ) // MySQL 5.1.30 // My workaround is to is use the library that came with PHP // // Fails with PHP has encountered an Access Violation at 01582BEB $mysqli = new mysqli("localhost", "my_user", "my_password", "my_db"); $result = $mysqli->query("SELECT id, admin_name FROM admin_users LIMIT 1"); $row = $result->fetch_object(); $result->close(); echo $row->id; // Works with 2nd column name removed $mysqli = new mysqli("localhost", "my_user", "my_password", "my_db"); $result = $mysqli->query("SELECT id FROM admin_users LIMIT 1"); $row = $result->fetch_object(); $result->close(); echo $row->id; // Works with single column $mysqli = new mysqli("localhost", "my_user", "my_password", "my_db"); $result = $mysqli->query("SELECT admin_name FROM admin_users LIMIT 1"); $row = $result->fetch_object(); $result->close(); echo $row->admin_name; // mysql also fails with PHP has encountered an Access Violation at 021EAC5A $link = mysql_connect('localhost', 'my_user', 'my_password'); $result = mysql_query("SELECT id, admin_name FROM admin_users LIMIT 1"); $row = mysql_fetch_row($result); mysql_close($link); echo $row[0]; echo $row[1]; // Also fails with one column selected :-( $link = mysql_connect('localhost', 'my_user', 'my_password'); $result = mysql_query("SELECT id FROM admin_users LIMIT 1"); $row = mysql_fetch_row($result); mysql_close($link); echo $row[0]; ?> Previous Comments: ------------------------------------------------------------------------ [2009-02-13 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2009-02-06 20:45:53] pslide at gmail dot com For me, the latest Windows VC6 thread safe snapshot, dated 2009-Feb-05 12:00:00, did not work. My machine: Windows XP Pro SP3 IIS 5.1, with PHP ISAPI module (If this is not helpful, please accept my apologies and delete.) ------------------------------------------------------------------------ [2009-02-05 14:14:49] j...@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ ------------------------------------------------------------------------ [2009-02-04 21:09:59] dangerousdave86 at hotmail dot com Replication Code: <?php # Connect to DB $db = mysqli_connect('localhost','root','',''); $res = mysqli_query($db, 'CREATE TEMPORARY TABLE tst1 (c1 VARCHAR(8), c2 VARCHAR(8))'); $res = mysqli_query($db, 'INSERT INTO tst1 (c1, c2) VALUES ("aa","bb"), ("cc","dd")'); $res = mysqli_query($db, 'SELECT * FROM tst1'); $data = mysqli_fetch_assoc($res); var_dump($data); ?> Never reaches VAR_DUMP(); Errors on MYSQLI_FETCH_ASSOC(); PHP has encountered an Access Violation at 004B2BEB ------------------------------------------------------------------------ [2009-01-03 13:58:33] dangerousdave86 at hotmail dot com Description: ------------ Error: PHP has encountered an Access Violation at 00322BEB When calling mysqli_fetch_assoc or mysqli_fetch_object on mysqli result. Also occurs using OO method. Error does not occur when using mysqli_fetch_row. Result is correct and indexed numerically in array. Reproduce code: --------------- Any database query using mysql that fetches rows using mysql_fetch_object, _fetch_assoc, _fetch_array. Or OO equivilents. Expected result: ---------------- an array representing a row from the database Actual result: -------------- Access Violation ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46997&edit=1