Я пишу следующий код для извлечения строки из таблицы:
$query = "SELECT ........FROM ............WHERE........AND ID = ?";
$conn = new Connection();
$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('i', $_SESSION['id']);
$stmt->execute();
echo 'Num rows = '.$stmt->num_rows();
Вот код для подключения ();
define('SERVER', 'localhost');
define('USER', 'root');
define('PASS', 'xxx');
define('DB', 'xxx');
class Connection{
var $mysqli = null;
function __construct(){
try{
if(!$this->mysqli){
$this->mysqli = new MySQLi(SERVER, USER, PASS, DB);
if(!$this->mysqli)
throw new Exception('Could not create connection using MySQLi', 'NO_CONNECTION');
}
}
catch(Exception $ex){
echo "ERROR: ".$e->getMessage();
}
}
}
Если я повторю запрос и выполню его в Navicat с идентификатором, равным значению $ _SESSION ['id'], он вернет мне строку. Но на веб-странице он показывает вывод в виде:
Num rows = 0
Что не так с кодом? Обратите внимание, что echo $ _SESSION ['id'] отображает значение.
Спасибо