Очень простая функция SQL возвращает логическое 1 (true) вместо ресурса - PullRequest
2 голосов
/ 05 июля 2011

У меня есть эта функция

function query($query)
{
     return mysql_query($query) or die(mysql_error())
}

, но когда я вызываю ее как

$last = query("SELECT * FROM jubox ORDER BY id desc LIMIT 45");

$ last возвращает 1

 echo $last; //1

Что я делаю не так?

РЕДАКТИРОВАТЬ:

Я хочу вернуть идентификатор РЕСУРСА НЕ ДАННЫЕ

Ответы [ 5 ]

3 голосов
/ 05 июля 2011

Не смешивайте return и x OR y

<?php
$mysql = mysql_connect('localhost', 'localonly', 'localonly') or die(mysql_error());
mysql_select_db('test', $mysql) or die(mysql_error($mysql));
mysql_query('CREATE TEMPORARY TABLE jubox_so (id int auto_increment, primary key(id))') or die(mysql_error($mysql));

$last = query("SELECT * FROM jubox_so ORDER BY id desc LIMIT 45");
echo $last;

function query($query)
{
    $v = mysql_query($query);
    if ( !$v ) {
        die(myql_error());
    }
    return $v;
}

отпечатки (что-то вроде) Resource id #6, как ожидалось, вместо 1 (что было вызвано преобразованием bool-> string для echo)

3 голосов
/ 05 июля 2011

В настоящее время вы пытаетесь отобразить ресурс, который возвращает 1, если он действителен (если повторяет ресурс, он действительно отображает 1)

Вам нужно использовать функцию mysql_fetch_ *, чтобы получить данные

1 голос
/ 05 июля 2011

Посмотрите на mysql_fetch_ * функции.Они возвращают реальные строки для вас.Mysql_query возвращает link_identifier, который можно использовать для получения результатов.См. http://php.net/manual/en/book.mysql.php для различных доступных функций.

0 голосов
/ 05 июля 2011

Я думаю, что причина, по которой вы выводите '1', заключается в том, что ваш запрос является результатом ошибки, а затем возвращается значение die (), которое вы получаете.Проверьте ваш запрос, скопируйте и вставьте его в phpMyAdmin для примера и найдите ошибку

0 голосов
/ 05 июля 2011

Вы повторяете результат, верно? В случае выбора это объект результата mysql, а не истина или ложь (как при обновлении или вставке). То, что вы получаете, является ресурсом результата . Вам нужно использовать функции как fetch_assoc , чтобы изучить этот результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...