可能重复:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error
我正在编写一个php脚本,它会生成大量的mysql查询
所以我认为使用mysql_free_result($ result)
会很好但我继续得到这个错误,我不知道如何修复它,并且在php手册网站上他们说这可能会增加内存使用量是真的吗?
我正在创建的脚本就像一个mysql复制脚本,它将数据从一个数据库复制到另一个数据库。
警告:mysql_free_result()期望 参数1是资源,布尔值 给定的 C:\ Users \用户NESH \ nocxacutalscript \ XAMPP \ htdocs中\主\进口\ import.php 在第81行
答案 0 :(得分:3)
通常,您有一个连接变量,一个包含返回查询的资源的变量,然后是结果中的各个行。从查询
对资源的变量调用mysql_free_result例如
$dbcon=mysql_connect...
$res=mysql_query.
while ($row=mysql_fetch...)
{}
mysql_free_result($res)
mysql_close($db)
答案 1 :(得分:2)
什么是 $ result ?看来你实际上并没有提供带有先前收集的mysql结果的 mysql_free_result()函数。发布更多代码,我们很可能能够为您找出问题所在。
您从 mysql_query()调用获得的结果是您应该在 mysql_free_result()上执行的操作。
来自php.net的示例代码
<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname = 'fox';
// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
mysql_real_escape_string($firstname),
mysql_real_escape_string($lastname));
// Perform Query
$result = mysql_query($query);
// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
echo $row['firstname'];
echo $row['lastname'];
echo $row['address'];
echo $row['age'];
}
// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>
答案 2 :(得分:2)
..是资源,布尔值在..
中给出
这意味着$ result包含一个可能为0的布尔值,这意味着您的SQL语句中存在一些错误,并且没有返回结果集