|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-01-03 13:58 UTC] 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 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 13:00:02 2025 UTC |
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 004B2BEBSame 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]; ?>