2017-05-17 113 views
0

我的实验室的目的是让用户通过名为“pageVistis”的数据库搜索他们在该字段中输入的内容。他们可以搜索远程主机或页面名称。我一直无法解决一个错误,我收到说:“注意:未定义变量:searchtype在C:\ xampp \ htdocs \ pageVisitsLab \ DataBC.php在线23mysql数据库搜索远程主机或页面名称

致命错误:未捕获错误:调用成员函数bind_param()在C:\ xampp \ htdocs \ pageVisitsLab \ DataBC.php中的布尔值中:25堆栈跟踪:#0 {main}在第25行的C:\ xampp \ htdocs \ pageVisitsLab \ DataBC.php中抛出。该代码也形成一个名为“DataBC.php”的文件。如果需要任何额外的信息,请让我知道,我将编辑这篇文章,并包括它谢谢你。

include "interface.php"; 
if(isset($_POST['submit'])) { 

    $sName = $_POST['sN']; 
    $sHost = trim($_POST['sH']); 


    if(!$sName || ! $sHost) { 
     echo "<p> Please enter a search </p>"; 
     exit; 
    } 
    /*switch ($sName) { 
     case 'sName': 
     case 'sHost': 
      break; 
     default: 
      echo "<p> Invalid search type and please try again </p>"; 
    } 
*/ 

$query = "SELECT page_name, visit_date, previous_page, request_method, remote_host, remote_port FROM visitInfo 
      WHERE $searchtype= ?"; 
    $stmt = $databse -> prepare($query); 
    $stmt-> bind_param('s',$sName); 
$stmt-> execute(); 
$stmt->store_result(); 
    $stmt->bind_result($pageName,$visitDate,$previouPage,$requestMethod,$remoteHost,$remotePort); 
    echo "<p> The number of items found: .$stmt->num_rows</p>"; 

    while ($stmt->fetch()) { 
     echo "<p><strong>page Name: ".$pageName."</strong></p>"; 
     echo "Visit Date: ".$visitDate."<br>"; 
     echo "Previous Page: ".$previouPage. "<br>"; 
     echo " Request Method: ".$requestMethod. "<br>"; 
     echo "Remote Host: ".$remoteHost. "<br>"; 
     echo "Remote Port: ".$remotePort. "<br>"; 
    } 
    $stmt->free_result(); 
    $databse->close(); 

} 
?> 
+0

在尝试使用它之前,您还没有定义_like错误says_'$ searchtype' – RiggsFolly

回答

0

我觉得你的问题是在查询时,$检索类别你在PHP中定义一个变量?也许在那个interface.php中。

如果你想在一个mysql查询中使用一个php变量,那么这不是正确的做法。