mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
commit
df940a6dc3
4 changed files with 14 additions and 5 deletions
|
@ -1131,6 +1131,17 @@ void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES * result, zend
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
mysqlnd_fetch_into(result, ((fetchtype & MYSQLI_NUM)? MYSQLND_FETCH_NUM:0) | ((fetchtype & MYSQLI_ASSOC)? MYSQLND_FETCH_ASSOC:0), return_value, MYSQLND_MYSQLI);
|
mysqlnd_fetch_into(result, ((fetchtype & MYSQLI_NUM)? MYSQLND_FETCH_NUM:0) | ((fetchtype & MYSQLI_ASSOC)? MYSQLND_FETCH_ASSOC:0), return_value, MYSQLND_MYSQLI);
|
||||||
|
/* TODO: We don't have access to the connection object at this point, so we use low-level
|
||||||
|
* mysqlnd APIs to access the error information. We should try to pass through the connection
|
||||||
|
* object instead. */
|
||||||
|
if (MyG(report_mode) & MYSQLI_REPORT_ERROR) {
|
||||||
|
MYSQLND_CONN_DATA *conn = result->conn;
|
||||||
|
unsigned error_no = conn->m->get_error_no(conn);
|
||||||
|
if (error_no) {
|
||||||
|
php_mysqli_report_error(
|
||||||
|
conn->m->get_sqlstate(conn), error_no, conn->m->get_error_str(conn));
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
|
@ -14,10 +14,11 @@ require_once('skipifconnectfailure.inc');
|
||||||
require 'connect.inc';
|
require 'connect.inc';
|
||||||
$db = new my_mysqli($host, $user, $passwd, $db, $port, $socket);
|
$db = new my_mysqli($host, $user, $passwd, $db, $port, $socket);
|
||||||
|
|
||||||
|
mysqli_report(MYSQLI_REPORT_ERROR);
|
||||||
$result = $db->query('SELECT 1', MYSQLI_USE_RESULT);
|
$result = $db->query('SELECT 1', MYSQLI_USE_RESULT);
|
||||||
$db->close();
|
$db->close();
|
||||||
var_dump($result->fetch_object());
|
var_dump($result->fetch_object());
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
Warning: mysqli_result::fetch_object(): Error while reading a row in %sbug64726.php on line %d
|
Warning: mysqli_result::fetch_object(): (HY000/2014): Commands out of sync; you can't run this command now in %s on line %d
|
||||||
bool(false)
|
bool(false)
|
||||||
|
|
|
@ -167,6 +167,4 @@ Lock wait timeout exceeded; try restarting transaction
|
||||||
Running query on first connection
|
Running query on first connection
|
||||||
Got 1 for first connection
|
Got 1 for first connection
|
||||||
Running query on second connection
|
Running query on second connection
|
||||||
|
Lock wait timeout exceeded; try restarting transaction
|
||||||
Warning: mysqli_result::fetch_row(): Error while reading a row in %s on line %d
|
|
||||||
Got 0 for second connection
|
|
||||||
|
|
|
@ -1751,7 +1751,6 @@ MYSQLND_METHOD(mysqlnd_res, fetch_into)(MYSQLND_RES * result, const unsigned int
|
||||||
}
|
}
|
||||||
array_init_size(return_value, array_size);
|
array_init_size(return_value, array_size);
|
||||||
if (FAIL == result->m.fetch_row(result, (void *)return_value, flags, &fetched_anything)) {
|
if (FAIL == result->m.fetch_row(result, (void *)return_value, flags, &fetched_anything)) {
|
||||||
php_error_docref(NULL, E_WARNING, "Error while reading a row");
|
|
||||||
zend_array_destroy(Z_ARR_P(return_value));
|
zend_array_destroy(Z_ARR_P(return_value));
|
||||||
RETVAL_FALSE;
|
RETVAL_FALSE;
|
||||||
} else if (fetched_anything == FALSE) {
|
} else if (fetched_anything == FALSE) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue