Php mysql_fetch_array()希望参数1是资源错误

Php mysql_fetch_array()希望参数1是资源错误,php,mysql,Php,Mysql,可能重复: 这是我得到的错误: 警告:mysql_fetch_数组要求参数1为资源,布尔值在…..中给出 我试着找出错误,但我做不到…有人能帮我看看吗 <?php session_start(); $objConnect = mysql_connect("localhost","root","") or die(mysql_error()); $objDB = mysql_select_db("EMC"); $haha = $fgmembersite->User

可能重复:

这是我得到的错误: 警告:mysql_fetch_数组要求参数1为资源,布尔值在…..中给出

我试着找出错误,但我做不到…有人能帮我看看吗

<?php

 session_start();


$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("EMC");


    $haha = $fgmembersite->UserEmail();
    $_SESSION['storedemail']= $haha;



    $query = mysql_query("SELECT * FROM Register WHERE Email= '$haha'");

    while ($row = mysql_fetch_array($query)){

    $id = $row['ID'];

    }
    mysql_free_result($query);



    $txtFirstName = isset($_GET['txtFirstName']) ? $_GET['txtFirstName'] : ""; 
    $txtLastName = isset($_GET['txtLastName']) ? $_GET['txtLastName'] : "";
    $txtCell = isset($_GET['txtCell']) ? $_GET['txtCell'] : "";

    ?>

    <html>


    <body>

    <form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
    <table width="599" border="1">
    <tr>
    <th>Keyword</th>

  <input name="txtFirstName" type="text" id="txtFirstName" value='<?php echo htmlentities($txtFirstName) ?>'>

  <input name="txtLastName" type="text" id="txtLastName" value='<?php echo htmlentities($txtLastName) ?>'>

  <input name="txtCell" type="text" id="txtCell" value='<?php echo htmlentities($txtCell) ?>'>



  <?

 $opselect="SELECT DISTINCT Custgroup FROM UserAddedRecord";

 $result = mysql_query ($opselect);

 while($nt=mysql_fetch_array($result))
 {
 ?>
 <option><?= $nt[Custgroup]?></option>";

 <?
 }
 ?>

 </select>
 <input type="submit" value="Search">
 </tr>
 </table>
</form>
<?
if (isset($_GET["txtFirstName"]) != "" || isset($_GET["txtLastName"]) != "" || isset($_GET["txtCell"]) != "" || isset($_GET["txtGroup"]) != "")
{
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("EMC");
// Search By Name or Email
$strSQL = "SELECT * FROM UserAddedRecord WHERE (FirstName LIKE '%".$_GET["txtFirstName"]."%' and LastName LIKE '%".$_GET["txtLastName"]."%' and Cell LIKE '%".$_GET["txtCell"]."%' and Custgroup LIKE '%".$_GET["txtGroup"]."%')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);


$Per_Page = 2;   // Per Page

    if(!isset($_GET['Page'])) 
        {
            $Page = 1;
        }
     else 
        {
            $Page = $_GET['Page'];
        }

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
    $Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
    $Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
    $Num_Pages =($Num_Rows/$Per_Page)+1;
    $Num_Pages = (int)$Num_Pages;
}


$strSQL .=" order  by addedrec_ID DESC LIMIT $Page_Start , $Per_Page";
$objQuery  = mysql_query($strSQL);

?>
<table width="600" border="1">
  <tr>
    <th width="50"> <div align="center">#</div></th>
    <th width="91"> <div align="center">CustomerID </div></th>
    <th width="98"> <div align="center">Name </div></th>
    <th width="198"> <div align="center">Email </div></th>
    <th width="97"> <div align="center">MobileCompany </div></th>
    <th width="59"> <div align="center">Cell </div></th>
    <th width="71"> <div align="center">WorkPhone </div></th>
  </tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<?=$objResult["addedrec_ID"];?>"></div></td>
    <td><div align="center"><?=$objResult["addedrec_ID"];?></div></td>
    <td><?=$objResult["FirstName"];?></td>
    <td><?=$objResult["LastName"];?></td>
    <td><div align="center"><?=$objResult["MobileCompany"];?></div></td>
    <td align="right"><?=$objResult["Cell"];?></td>
    <td align="right"><?=$objResult["Workphone"];?></td>
  </tr>
<?
}
?>
</table>
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
       if($_GET["txtFirstName"] == "")
                  {
    echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtLastName=$_GET[txtLastName]'><< Back</a> ";    
                  }

        else
                  {
    echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtFirstName=$_GET[txtFirstName]'><< Back</a> ";
                  }

}

for($i=1; $i<=$Num_Pages; $i++){
    if($i != $Page)
    {

        echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtFirstName=$_GET[txtFirstName]'>$i</a> ]"; 

    }
    else
    {
        echo "<b> $i </b>";
    }
}
if($Page!=$Num_Pages)
{
          if($_GET["txtFirstName"] == "" && $_GET["txtLastName"] == "" && $_GET["txtCell"] == "")
                       {
            echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtGroup=$_GET[txtGroup]'>Next>></a> ";
                       }
          else if($_GET["txtFirstName"] == "" && $_GET["txtLastName"] == "")
                       {
            echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtCell=$_GET[txtCell]'>Next>></a> ";    
                       }
          else if($_GET["txtFirstName"] == "" )
                       {
        echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtLastName=$_GET[txtLastName]'>Next>></a> ";    
                       }
          else
                       {
            echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtFirstName=$_GET[txtFirstName]'>Next>></a> ";  }
                   }

mysql_close($objConnect);


}   

   else 
   {

$strSQL = "SELECT * FROM UserAddedRecord WHERE user_id='$id'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);

$Per_Page = 2;   // Per Page

    if(!isset($_GET['Page'])) 
        {
            $Page = 1;
        }
    else 
        {
            $Page = $_GET['Page'];
        }

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
    $Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
    $Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
    $Num_Pages =($Num_Rows/$Per_Page)+1;
    $Num_Pages = (int)$Num_Pages;
}


$strSQL .=" order  by id DESC LIMIT $Page_Start , $Per_Page";
$objQuery  = mysql_query($strSQL);





?>
<table width="600" border="1">
  <tr>
    <th width="50"> <div align="center">#</div></th>
    <th width="91"> <div align="center">ID </div></th>
    <th width="198"> <div align="center">First Name </div></th>
    <th width="198"> <div align="center">Last Name </div></th>
    <th width="250"> <div align="center">Mobile Company </div></th>
    <th width="100"> <div align="center">Cell </div></th>
    <th width="100"> <div align="center">Workphone </div></th>
    <th width="100"> <div align="center">Group </div></th>
  </tr>
<?

    echo "<form name='form1' method='post' action=''>";

while($objResult = mysql_fetch_array($objQuery))
{


    echo "<tr>";
    echo "<td align='center'><input name=\"checkbox[]\" type=\"checkbox\" id=\"checkbox[]\" value=\"$objResult[addedrec_ID]\"></td>";
    echo "<td>$objResult[addedrec_ID] </td>";
    echo "<td>$objResult[FirstName]</td>";
    echo "<td>$objResult[LastName] </td>";
    echo "<td>$objResult[MobileCompany] </td>";
    echo "<td>$objResult[Cell] </td>";
    echo "<td>$objResult[WorkPhone] </td>";
    echo "<td>$objResult[Custgroup] </td>";

   echo "</tr>";

}


     echo "<td colspan='7' align='center'><input name=\"delete\" type=\"submit\" id=\"delete\" value=\"Delete\">";

   if(isset($_POST['delete'])) // from button name="delete"
 {
   $checkbox = $_POST['checkbox']; //from name="checkbox[]"
     $countCheck = count($_POST['checkbox']);

    for($d=0;$d<$countCheck;$d++)
     {
         $del_id  = $checkbox[$d];

    $sql = "DELETE from UserAddedRecord where addedrec_ID = $del_id";

    $result2=mysql_query($sql);

     }
         if($result2)
     {  
             header('Location: customer-adddata.php');
         }
         else
         {
    echo "Error: ".mysql_error();
         }
 }

    echo "</form>";

?>
</table>
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
       if($_GET["txtFirstName"] == "")
                  {
    echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtLastName=$_GET[txtLastName]'><< Back</a> ";    
                  }

        else
                  {
    echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtFirstName=$_GET[txtFirstName]'><< Back</a> ";
                  }

}

for($i=1; $i<=$Num_Pages; $i++){
    if($i != $Page)
    {

        echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtFirstName=$_GET[txtFirstName]'>$i</a> ]"; 

    }
    else
    {
        echo "<b> $i </b>";
    }
}
if($Page!=$Num_Pages)
{
          if($_GET["txtFirstName"] == "" && $_GET["txtLastName"] == "")
                       {
            echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtCell=$_GET[txtCell]'>Next>></a> ";    
                       }
          else if($_GET["txtFirstName"] == "" )
                       {
        echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtLastName=$_GET[txtLastName]'>Next>></a> ";    
                       }
          else
                       {
            echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtFirstName=$_GET[txtFirstName]'>Next>></a> ";  }
                   }

mysql_close($objConnect);



   }






   ?>
  </body>
  </html>
应该是:

    $strSQL .=" order  by addedrec_ID DESC LIMIT $Page_Start , $Per_Page";

请允许我再次表示感谢,并祝大家有一个非常好的一天

您的查询可能有错误。试着做

$query = mysql_query("SELECT * FROM Register WHERE Email= '$haha'") or trigger_error(mysql_error());

要查看错误是什么。

您的查询中可能有错误。试着做

$query = mysql_query("SELECT * FROM Register WHERE Email= '$haha'") or trigger_error(mysql_error());

查看错误。

您的查询以某种方式失败,返回的是布尔值FALSE而不是语句句柄。添加此项以了解原因:

$query = mysql_query(...);
if ($query === FALSE) {
   die(mysql_error());
}

永远不要假设数据库操作成功。

您的查询以某种方式失败,并返回布尔值FALSE而不是语句句柄。添加此项以了解原因:

$query = mysql_query(...);
if ($query === FALSE) {
   die(mysql_error());
}

永远不要假设数据库操作成功。

您的查询可能失败并返回FALSE。添加以下内容:

$query = mysql_query("SELECT * FROM Register WHERE Email= '$haha'");

if (!$query)
    die(mysql_error());

while ($row = mysql_fetch_array($query)){

您的查询可能失败并返回FALSE。添加以下内容:

$query = mysql_query("SELECT * FROM Register WHERE Email= '$haha'");

if (!$query)
    die(mysql_error());

while ($row = mysql_fetch_array($query)){

您不能从该查询返回任何结果。在使用mysql\u fetch\u数组之前,请检查$query是否是资源

 if (! is_resource($query)) { die "Database returned nothing;" }

您不能从该查询返回任何结果。在使用mysql\u fetch\u数组之前,请检查$query是否是资源

 if (! is_resource($query)) { die "Database returned nothing;" }


+1表示从不假设数据库操作成功@ComFreek:对于PHP之外的任何东西,这似乎都是一个非常普遍的假设。我不需要检查curl/mysql/任何返回值,它总是在dev中工作!谢谢你的回复,我试过了,但仍然显示出相同的错误。在示例代码中,你有多个mysql\u查询调用。您必须检查每一个。@Irene:您的代码中也存在sql注入漏洞,因此我强烈建议您访问以了解这一问题的原因。+1表示从不假设数据库操作成功@ComFreek:对于PHP之外的任何东西,这似乎都是一个非常普遍的假设。我不需要检查curl/mysql/任何返回值,它总是在dev中工作!谢谢你的回复,我试过了,但仍然显示出相同的错误。在示例代码中,你有多个mysql\u查询调用。您必须检查每一个错误。@Irene:您的代码中也有sql注入漏洞,因此我强烈建议您访问以了解这一错误的原因。非常感谢您,我尝试过,但仍然显示出相同的错误。问题解决了,我现在知道错误是什么了。非常感谢你,Xeon06。祝你度过愉快的一天。@Irene,别忘了发布它是什么,并通过单击它旁边的绿色复选标记接受你得到的最有用的答案。好的。我希望我能选择两个有用的答案,因为你和Marc B在这方面确实帮了我的忙。谢谢Xeon06。不用担心。很高兴你找到了解决方案。非常感谢,我试过了,但仍然显示出相同的错误。问题解决了,我知道错误是什么了。非常感谢你,Xeon06。祝你度过愉快的一天。@Irene,别忘了发布它是什么,并通过单击它旁边的绿色复选标记接受你得到的最有用的答案。好的。我希望我能选择两个有用的答案,因为你和Marc B在这方面确实帮了我的忙。谢谢Xeon06。不用担心。很高兴你找到了解决方案。谢谢daiscog,在我添加了你的代码后,错误仍然是一样的。谢谢daiscog,我已经知道错误是什么了,再次感谢,祝你愉快。谢谢daiscog,在我添加了你的代码后,错误仍然是一样的。谢谢daiscog,我已经知道错误是什么了,再次感谢,祝你度过愉快的一天。谢谢你,迈克,我也试过了,但错误仍然是一样的。我通常会这样做。代码$query=从注册表中选择*,其中电子邮件=“$haha”;代码$result=mysql\u query$query;然后您可以回显$query以查看字符串是否设置正确,甚至可以通过SSH或PHPMyAdmin连接到MySQL服务器来测试它。再次感谢Mike,发现了错误,我检查了每个查询,我忘记了我有多个查询。谢谢你,祝你有一个愉快的一天。谢谢你,迈克,我也试过了,但错误仍然是一样的。我通常会这样做。代码$query=从注册表中选择*,其中电子邮件=“$haha”;代码$result=mysql\u query$query;然后您可以回显$query以查看字符串是否设置正确,甚至可以通过SSH或PHPMyAdmin连接到MySQL服务器来测试它。再次感谢Mike,发现了错误,我检查了每个查询,我忘记了我有多个查询。谢谢你,祝你今天愉快。