在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是数据库中的一行