php警告mysql_fetch_assoc
我试图从mysql访问一些信息,但得到警告:mysql\u fetch\u assoc():对于下面的第二行代码,提供的参数不是有效的mysql结果资源,请提供任何帮助php警告mysql_fetch_assoc,php,mysql,Php,Mysql,我试图从mysql访问一些信息,但得到警告:mysql\u fetch\u assoc():对于下面的第二行代码,提供的参数不是有效的mysql结果资源,请提供任何帮助 $musicfiles=getmusicfiles($records['m_id']); $mus=mysql_fetch_assoc($musicfiles); for($j=0;$j<2;$j++) { if(file_exists($mus['musicpath'])) { echo '<a href=
$musicfiles=getmusicfiles($records['m_id']);
$mus=mysql_fetch_assoc($musicfiles);
for($j=0;$j<2;$j++)
{
if(file_exists($mus['musicpath']))
{
echo '<a href="'.$mus['musicpath'].'">'.$mus['musicname'].'</a>';
}
else
{
echo 'Hello world';
}
}
function getmusicfiles($m_id)
{
$music="select * from music WHERE itemid=".$s_id;
$result=getQuery($music,$l);
return $result;
}
$musicfiles=getmusicfiles($records['m_id']);
$mus=mysql\u fetch\u assoc($muscfiles);
对于($j=0;$j如果看不到getmusicfiles的代码,我们就无法真正帮助您。您应该在该函数中返回有效的mysql资源。如果看不到getmusicfiles的代码,我们就无法真正帮助您。您应该在该函数中返回有效的mysql资源。这取决于什么正是getmusicfiles()所做的
。它必须返回mysql\u query()
函数调用的结果,然后它将是“有效的mysql结果”
你很可能想把$mus=mysql\u fetch\u assoc($musicfiles)
这一行放在循环的中,以便一行一行地获取多行。这取决于getmusicfiles()的具体功能。
它必须返回mysql\u query()
函数调用的结果,然后它将是一个“有效的mysql结果”
您很可能希望将行$mus=mysql\u fetch\u assoc($musicfiles)
放在中,以便
循环一个接一个地获取多行。通常,mysql\u*函数的使用方式如下:
$id = 1234;
$query = 'SELECT name, genre FROM sometable WHERE id=' . $id;
// $query is a string with the MySQL query
$resource = mysql_query($query);
// $resource is a *MySQL result resource* - a mere link to the result set
while ($row = mysql_fetch_assoc($resource)) {
// $row is an associative array from the result set
print_r($row);
// do something with $row
}
如果您向mysql\u fetch\u assoc传递的不是mysql结果资源(无论是字符串、对象还是布尔值),函数将抱怨它不知道如何处理参数;这正是您所看到的
常见问题:如果将某个内容(有效查询字符串除外)传递给mysql\u查询
,则会收到此警告:
$id = null;
$query = 'SELECT name, genre FROM sometable WHERE id=' . $id;
$res = mysql_query($query);
// $res === FALSE because the query was invalid
// ( "SELECT name, genre FROM sometable WHERE id=" is not a valid query )
mysql_fetch_assoc($res);
// Warning: don't know what to do with FALSE, as it's not a MySQL result resource
通常,mysql_*函数的使用方式如下:
$id = 1234;
$query = 'SELECT name, genre FROM sometable WHERE id=' . $id;
// $query is a string with the MySQL query
$resource = mysql_query($query);
// $resource is a *MySQL result resource* - a mere link to the result set
while ($row = mysql_fetch_assoc($resource)) {
// $row is an associative array from the result set
print_r($row);
// do something with $row
}
如果您向mysql\u fetch\u assoc传递的不是mysql结果资源(无论是字符串、对象还是布尔值),函数将抱怨它不知道如何处理参数;这正是您所看到的
常见问题:如果将某个内容(有效查询字符串除外)传递给mysql\u查询
,则会收到此警告:
$id = null;
$query = 'SELECT name, genre FROM sometable WHERE id=' . $id;
$res = mysql_query($query);
// $res === FALSE because the query was invalid
// ( "SELECT name, genre FROM sometable WHERE id=" is not a valid query )
mysql_fetch_assoc($res);
// Warning: don't know what to do with FALSE, as it's not a MySQL result resource
正如其他人所指出的,您需要将有效的mysql资源返回到mysql_fetch_assoc函数中以检索下一行。例如:
$sql = "select * from table";
$resultSet = mysql_query($sql) or die("Couldn't query the database.");
echo "Num Rows: " . mysql_num_rows($resultSet);
while ($resultRowArr = mysql_fetch_assoc($resultSet)) {
...
}
正如其他人所指出的,您需要将有效的mysql资源返回到mysql_fetch_assoc函数中以检索下一行。例如:
$sql = "select * from table";
$resultSet = mysql_query($sql) or die("Couldn't query the database.");
echo "Num Rows: " . mysql_num_rows($resultSet);
while ($resultRowArr = mysql_fetch_assoc($resultSet)) {
...
}
我认为您需要指定函数getQuery()
我认为您需要指定函数getQuery()
做
$m\u id!=$s\u id
$m\u id!=$s\u id
?getmusicfiles()的定义是什么?getQuery()的定义是什么?有调用mysql_查询的功能吗?如果没有,你会得到警告,这是应该的。是的,它可以正常工作,因为我在我的系统中经常使用它site@death孩子:如果它工作正常,你就不会问这个问题;)我们能看到它吗?注意你的参数($m_id)与您试图附加到SQL查询中的值($s_id)不同-也许这是您的问题?getmusicfiles()的定义是什么?getQuery()的定义是什么?有调用mysql_查询的功能吗?如果没有,你会得到警告,这是应该的。是的,它可以正常工作,因为我在我的系统中经常使用它site@death孩子:如果它工作正常,你就不会问这个问题;)我们能看到它吗?注意你的参数($m_id)与您试图附加到SQL查询中的值($s_id)不一样-也许这是您的问题?