我有这个功能
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
我做错了什么?
我想返回RESOURCE id NOT DATA
答案 0 :(得分:3)
目前,您正在尝试回显资源,如果有效则返回1(如果回显资源,则确实回显1)
您需要使用mysql_fetch_ *函数来获取数据
答案 1 :(得分:3)
请勿混用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-&gt;字符串转换为echo引起的)
答案 2 :(得分:1)
查看mysql_fetch_ *函数。它们为您返回实际行。 mysql_query返回一个link_identifier,可用于获取结果。有关可用的不同功能,请参阅http://php.net/manual/en/book.mysql.php。
答案 3 :(得分:0)
你回应结果吧?如果是select,这是一个mysql结果对象,而不是true或false(比如update或insert)。你得到的是result resource。您需要使用fetch_assoc函数来探索该结果。
答案 4 :(得分:0)
我认为你打印'1'的原因是因为你的错误查询结果然后它是你得到的die()的返回值。 检查您查询,复制并粘贴在phpMyAdmin中例如,并查找错误