下面是我在php中搜索的代码。我在运行这个程序时遇到问题。所以请帮帮我?
<html>
<body>
<?php
mysql_connect("localhost","root","");
mysql_select_db("login");
$initial = mysql_real_escape_string($_POST['initial']);
$find_videos = mysql_query("SELECT * FROM `sigup` WHERE `initial` LIKE '%initial%'");
while($row = mysql_fetch_assoc($find_videos))
{
$initial = $row['initial'];
echo "$initial<br/ >";
}
?>
</body>
</html>
您的问题在这一行:
$initial = mysql_real_escape_string($_POST['initial']);
基本上,只要POST变量initial
不存在,就会导致该问题。当POST变量initial
不存在时,$_POST数组中将不存在索引initial
。
在尝试使用POST或GET变量之前,您应该始终检查它是否存在
if(isset($_POST['initial'])){
//initial exists as a POST variable
} else{
//initial does not exist as a POST variable
}
当然,你也可以用三元形式:
$initial = isset($_POST['initial']) ? mysql_real_escape_string($_POST['initial']) : false;
if($initial !== false){
//Good to go
}
POST变量在您认为应该存在的情况下不存在的一些原因:
- 表单元素名称与您试图访问的POST变量不匹配。例如:您的字段名为
name
,但您正试图访问POST变量names
- 用户直接访问页面,而不是通过表单访问