php extract()函数

php extract()函数,php,mysql,Php,Mysql,我试图实现一个提取函数,从我的数据库中获取数据并将其显示在表单中,以便更新数据库。表单没有问题,但是提取函数。。 这就是我所拥有的: $id = $_GET['id']; $qP = "SELECT * FROM test_mysql WHERE id = '$id' "; $rsP = mysql_query($qP); $row = mysql_fetch_array($rsP); extract($row); $fullname = trim($fullname); $dob = tr

我试图实现一个提取函数,从我的数据库中获取数据并将其显示在表单中,以便更新数据库。表单没有问题,但是提取函数。。 这就是我所拥有的:

$id = $_GET['id'];

$qP = "SELECT * FROM test_mysql WHERE id = '$id'  ";
$rsP = mysql_query($qP);
$row = mysql_fetch_array($rsP);
extract($row);
$fullname = trim($fullname);
$dob = trim($dob);
$time = trim($time);
但它告诉我:

警告:mysql_fetch_array()需要 参数1为资源,布尔值 给定

警告:extract()需要参数 1为数组,给定空值

问题是代码在上下文中运行良好,但在dremweaver中给出了错误。
可能是什么问题?

您很可能在MySQL中出错。试试这个:

$rsP = mysql_query($qP) or die(mysql_error());
这将告诉您查询是否出现问题

我可以马上想到一些您应该调查的可能错误:

  • 您是否连接到数据库(使用mysql\u connect)
  • 表test_mysql是否存在
  • $\u GET['id']是数字还是字符串?如果是数字,则应将查询的结尾更改为
    id=$id

这可能是由于数据库返回值为false(或缺少该值)。

如PHP手册中所述

mysql_query()返回上的资源 成功,或错误

看来查询中出现了问题。您可以查看错误消息并继续问题调查:

$qP = "SELECT * FROM test_mysql WHERE id = '$id'  ";
$rsP = mysql_query($qP);
echo mysql_error();

我遇到了同样的问题。。我只是这么做就解决了这个问题

在你的代码中

extract($row);
换成

 extract((array)$row);

希望能有帮助。。非常感谢。它只显示,
$row
中的变量是一个数组,而不仅仅是一个变量。

请,请,请确保使用
mysql\u real\u escape\u字符串
-记住“小Bobby表”:)seengee,+1对$id变量进行一些清理。如果需要一个数字,则使用intval()。或者改成准备好的语句。他的问题不是摘录而是查询。强制执行数组不会使代码正常工作,只会确保关于提取的第二个错误不会弹出。