У меня возникла проблема с получением num_row
когда я получаю результаты в виде массива:
$sql = "SELECT * FROM people WHERE peopleid=?"; if (!($stmt = $mysqli->prepare($sql))) { echo "stmt Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error; } if (!$stmt->bind_param("i", $_GET['peopleid'])) { echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error; } if (!$stmt->execute()) { echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error; } $stmt->store_result(); $exist=$stmt->num_rows; $result = $stmt->get_result(); $peopleres = $result->fetch_array(MYSQLI_ASSOC); // this does work :) if ($exist == 0) { //do something it it's zero }
Если я помещаю store_results и num_rows, где он находится в примере, я получаю
Вызовите функцию-член fetch_array () при ошибке, отличной от объекта.
Если я поместил его после fetch_array, он всегда равен нулю. Раньше я использовал num_rows, но это первый раз, когда я пытаюсь использовать его вместе с fetch_array.