下面是我在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>
答案 0 :(得分:1)
你的问题就在这一行:
$initial = mysql_real_escape_string($_POST['initial']);
基本上,只要POST变量initial
不存在,就会引发问题。当POST变量initial
不存在时,$ _POST数组中将不存在索引initial
。
在尝试使用POST或GET变量之前,应始终检查是否存在POST或GET变量。您可以使用函数isset:
来完成此操作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变量应该存在时,某些原因不存在:
name
,但您正在尝试访问POST变量names
。