Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PhP中搜索MySQL数据库_Php_Html_Mysql - Fatal编程技术网

在PhP中搜索MySQL数据库

在PhP中搜索MySQL数据库,php,html,mysql,Php,Html,Mysql,我试图使用POST在PhP中搜索MySQL数据库,但我得到以下错误: 注意:未定义变量:第266行的/Applications/XAMPP/xamppfiles/htdocs/bans.php中的ban1 注意:未定义变量:第268行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的banner1 注意:未定义变量:第270行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的bantl1 注意:未定义变量

我试图使用
POST
PhP
中搜索
MySQL
数据库,但我得到以下错误:

注意:未定义变量:第266行的/Applications/XAMPP/xamppfiles/htdocs/bans.php中的ban1

注意:未定义变量:第268行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的banner1

注意:未定义变量:第270行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的bantl1

注意:未定义变量:第274行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的banreason1

注意:未定义变量:第276行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的ban2

注意:未定义变量:第278行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的banner2

注意:未定义变量:第280行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的bantl2

注意:未定义变量:第286行/Applications/XAMPP/xamppfiles/htdocs/bans.php中的banreason2

这是我的代码:

<h1>Punishments
 <div class='col-sm-3 col-md-3 pull-right' style='float:right'>
<div class='container'>
<div class='row'>
<div class='col-sm-3 col-xs-12 col-lg-3'>
  <form class='form-search' action='./bans.php' method='post'>
      <div class='input-group'>
          <input type='text' class='form-control' name='psch' placeholder='Search   Players'>
          <span class='input-group-btn'>
              <button type='submit' name='submitbtn' class='btn btn-search'><span   class='glyphicon glyphicon-search'></span></button>
          </span>
      </div>
  </form>
</div>
</div>
</div>
</div>
</h1>
<br>
<hr>";
$ban1 = "";

    require ("./connect.php");
if (isset($_POST['submitbtn'])) {
    $search = $_POST['psch'];
            $searched = mysql_real_escape_string($search);
    $result = mysql_query('SELECT * FROM bans WHERE banned="$searched" ORDER BY id DESC LIMIT 0,1') or die('Invalid query: ' . mysql_error());
    while ($row = mysql_fetch_assoc($result)) {
        $ban1 = $row['banned'];
        $banner1 = $row['banner'];
        $bantl1 = $row['timeleft'];
        $banreason1 = $row['reason'];
        $banappeal1 = $row['appealed'];
        $banacceptor1 = $row['acceptor'];
        $bantime1 = $row['time'];
        }
    $result = mysql_query('SELECT * FROM bans WHERE banned="$searched" ORDER BY id DESC LIMIT 1,1') or die('Invalid query: ' . mysql_error());
        while ($row = mysql_fetch_assoc($result)) {
            $ban2 = $row['banned'];
        }
    $result = mysql_query('SELECT * FROM bans WHERE banned="$searched" ORDER BY id DESC LIMIT 2,1') or die('Invalid query: ' . mysql_error());
        while ($row = mysql_fetch_assoc($result)) {
            $ban3 = $row['banned'];
        }
    $result = mysql_query('SELECT * FROM bans WHERE banned="$searched" ORDER BY id DESC LIMIT 3,1') or die('Invalid query: ' . mysql_error());
        while ($row = mysql_fetch_assoc($result)) {
            $ban4 = $row['banned'];
        }
    $result = mysql_query('SELECT * FROM bans WHERE banned="$searched" ORDER BY id DESC LIMIT 4,1') or die('Invalid query: ' . mysql_error());
        while ($row = mysql_fetch_assoc($result)) {
            $ban5 = $row['banned'];
        }
    echo "
        <div class='jumbotron'>
        <h1></h1>
            <p>
   <b>-----------------------------------------------</b>
   <br>
   <b>Banned:</b>$ban1
  <br>
    <b>Banner:</b>$banner1
<br>
<b>Time Left:</b>$bantl1
<br>
<b>Reason:</b>$banreason1
<br>
<b>-----------------------------------------------</b>
<br>
<b>Banned:</b>$ban2
<br>
<b>Banner:</b>$banner2
<br>
<b>Time Left:</b>$bantl2
<br>
<b>Reason:</b>$banreason2
<br>
<b>-----------------------------------------------</b>
</p>
            <p></p>
            </div>
        ";

    }
    else
惩罚


”; $ban1=“”; 要求(“./connect.php”); 如果(isset($_POST['submitbtn'])){ $search=$_POST['psch']; $searched=mysql\u real\u escape\u字符串($search); $result=mysql_query('SELECT*FROM bans WHERE banked=“$searched”ORDER BY id DESC LIMIT 0,1”)或die('Invalid query:'。mysql_error()); while($row=mysql\u fetch\u assoc($result)){ $ban1=$row[“禁止”]; $banner1=$row['banner']; $bantl1=$row['timeleft']; $banreason1=$row['reason']; $BANAPPAL1=$row[“上诉”]; $BanAcceptor 1=$row['acceptor']; $bantime1=$row['time']; } $result=mysql_query('SELECT*FROM bans WHERE banked=“$searched”ORDER BY id DESC LIMIT 1,1”)或die('Invalid query:'。mysql_error()); while($row=mysql\u fetch\u assoc($result)){ $ban2=$row[“禁止”]; } $result=mysql_query('SELECT*FROM bans WHERE banked=“$searched”ORDER BY id DESC LIMIT 2,1”)或die('Invalid query:'。mysql_error()); while($row=mysql\u fetch\u assoc($result)){ $ban3=$row[“禁止”]; } $result=mysql_query('SELECT*FROM bans WHERE banked=“$searched”ORDER BY id DESC LIMIT 3,1”)或die('Invalid query:'。mysql_error()); while($row=mysql\u fetch\u assoc($result)){ $ban4=$row[“禁止”]; } $result=mysql_query('SELECT*FROM bans WHERE banked=“$searched”ORDER BY id DESC LIMIT 4,1”)或die('Invalid query:'。mysql_error()); while($row=mysql\u fetch\u assoc($result)){ $ban5=$row[“禁止”]; } 回声“ -----------------------------------------------
禁止:$ban1
横幅:$banner1
剩余时间:$bantl1
原因:$banreason1
-----------------------------------------------
禁止:$ban2
横幅:$banner2
剩余时间:$bantl2
原因:$2
-----------------------------------------------

"; } 其他的

我已经尝试声明了
ban1
banner1
,以及
while
语句之外的所有其他变量,但我仍然收到这些错误。有什么想法吗?

您必须像这样将php变量与html连接起来

echo "
    <div class='jumbotron'>
    <h1></h1>
    <p>
    <b>-----------------------------------------------</b>
    <br>
    <b>Banned:</b>" . $ban1 .
    "<br>
    <b>Banner:</b>" . $banner1;
echo”

-----------------------------------------------

禁止:“.$ban1。 “
横幅:“.$banner1;
从PHP文档中,您可以看到

E\u使用未初始化变量时会发出通知级别错误,但在未初始化数组中追加元素时不会发出通知级别错误。isset()语言构造可用于检测变量是否已初始化。
您可以找到更多信息

因此,在使用while循环消除通知之前,必须初始化while循环中的变量。

您确定吗

if (isset($_POST['submitbtn'])) { 

是真的吗?您可能需要添加一个else语句来确认。或者,当您知道它是假的时,您是否会得到相同的错误?

您不需要4个查询,一个是您应该真正使用mysqli或PDO,当前版本的PHP不支持旧的mysqli。我希望您发布mysqli\U错误。似乎查询发生了错误(我假设查询将返回某些内容)。@bixiaopeng我如何获得mysql_错误,对不起,我是初学者。好吧,我想我犯了一个错误,您已经在查询结束时附加了错误检查器(die(…)。是否要确保已为该变量分配了所需的值?(例如附加var_dump()在赋值之后。)。我试过了,但不起作用。这是整个文件的一个粘贴库:声明while循环外的所有变量,并将其初始化为某个值,然后重试。我这样做了,但它没有改变它们,它们与我以前声明它们时保持相同。我不再得到错误,但值与SQL数据库中的值不同e、 我认为这是mysql查询之前的一个错误,因为如果我将查询行更改为:
$result=mysql\u query('SELECT*FROM banns WHERE banked=“'**Notch**'”ORDER BY id DESC LIMIT 0,1”)或die('Invalid query:'.mysql\u error());
而不是
$result=mysql\u query('SELECT*FROM banns WHERE banked=“'**$searched**'”ORDER BY id DESC LIMIT 0,1”)或die('Invalid query:'.mysql_error());
Notch是数据库中的一行