Я пытаюсь понять это в течение нескольких дней, и я не могу найти, что может быть ошибкой.
Это мой код:
<?php $page = isset($_POST['page']) ? intval($_POST['page']) : 1; $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10; include 'conn.php'; class get_data extends connection{ public function __construct($page,$rows){ $s_page=mysql_real_escape_string($page); $s_rows=mysql_real_escape_string($rows); $this->get_all($s_page,$s_rows); } public function get_all($page,$rows){ $this->connect_to_db(); $tablename = $this->define_table_name(); $offset = ($page-1)*$rows; $result = array(); $rs = mysql_query("select count(*) from $tablename"); $row = mysql_fetch_row($rs); $result["total"] = $row[0]; $startq="select * from $tablename limit $offset,$rows"; $rs = mysql_query("select * from $tablename limit $offset,$rows"); $items = array(); while($row = mysql_fetch_object($rs)){ array_push($items, $row); } $result["rows"] = $items; echo json_encode($result); } } $getdata=new get_data($page,$rows); ?>
Вывод: {"total":"3","rows":[]}
ПРОБЛЕМА: строки пустые, но подсчитывает, сколько строк находится в db, что означает, что соединение хорошее, но запрос строки не дает никаких предложений?
mysql_real_escape_string
перед установкой соединения с базой данных. mysql_real_escape_string
требуется существующее соединение с базой данных для выполнения своей работы. Если его нет, он попытается установить соединение сам по себе, что, скорее всего, не удастся, что означает, что ваши параметры равны null
.
Это было бы легко понять, если бы вы включили отчет об ошибках или отлаживали свое приложение, просто используя var_dump
различные переменные здесь и там.