我有这个函数
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
我做错了什么?
<标题>编辑:我想返回资源id NOT DATA
标题>不要混合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(这是由echo的bool->字符串转换引起的)
当前,您正在尝试回显资源,如果有效则返回1(如果回显资源,则确实回显1)
您需要使用mysql_fetch_*函数来获取数据
查看mysql_fetch_*函数。它们为您返回实际的行。mysql_query返回一个可用于获取结果的link_identifier。请参阅http://php.net/manual/en/book.mysql.php了解可用的不同函数。
您正在重复结果,对吗?在select的情况下,这是一个mysql结果对象,而不是true或false(像update或insert)。你得到的是一个结果资源。您需要使用函数作为fetch_assoc来探索该结果。
我认为你打印出'1'的原因是因为你的错误查询结果,然后它是你得到的die()的返回值。检查你的查询,复制并粘贴到phpMyAdmin中,例如,寻找错误