2013-06-08 4 views
0

Следующая функция возвращает Resource id #11. Как я могу исправить это с помощью моего настоящего кода?php Resource id # 11 issue

function GET_PAGE() { 
    global $page; 
    if(isset($_GET)) { 
     foreach($_GET as $key => $value){ 
      $query = "SELECT * FROM pages WHERE title = '{$key}'"; 
      $page = mysql_query($query); 
      confirm_query($page); 
      return $page; 
     } 
    } 
} 
+0

Я думаю, что у вас есть один ''} слишком много, для одной вещи. Попробуйте изменить '}}' на '}' выше 'return $ page;'. –

+0

нет 1 для функции, 1 для if, 1 foreach –

+0

К сожалению. Виноват. Не заметил, что хрустнул '{' in 'if (isset ($ _ GET)) {foreach'. Вы должны попытаться сделать новую строку для ясности. –

ответ

3

Вы не получили ни одной строки.

mysql_query возвращает ресурс, который должен быть интерпретирован одной из функций mysql_fetch_*. В зависимости от ваших предпочтений mysql_fetch_array и mysql_fetch_object были бы наиболее подходящими.


btw: Расширение MySQL устарело. Рассмотрим переход на PDO или MySQLi:

Это расширение устарело с PHP 5.5.0 и будет удалено в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. См. Также руководство MySQL: choosing an API и related FAQ для получения дополнительной информации. (http://www.php.net/manual/en/function.mysql-query.php)

Оба позволяют использовать подготовленные заявления для properly secure операторах базы данных. Ваш опубликованный пример склонен к инъекциям SQL !!!

Exploits of a mom - xkcd (http://xkcd.com/327/)

+0

Извините, что не заметили изменения вашего тега, мы должны были сделать редактирование в одно и то же время. –

+0

@Fred Все в порядке, я исправил его уже :) – TimWolla

+0

Сразу, просто увидел это :) –

Смежные вопросы