Php 值仅传递给单个数据库或条件。困惑的
我的数据库项目中有两个表,即y2011_2012和y2012_2013 现在,我已经创建了一个带有以下代码的搜索框:Php 值仅传递给单个数据库或条件。困惑的,php,mysql,Php,Mysql,我的数据库项目中有两个表,即y2011_2012和y2012_2013 现在,我已经创建了一个带有以下代码的搜索框: <form action="includes/usn_search.php" method="post"> <input type="search" id="usn_search" name="usn_search"> </form> 现在,我尝试使用php从两个表中检索数据,代码如下: //1.Create a database
<form action="includes/usn_search.php" method="post">
<input type="search" id="usn_search" name="usn_search">
</form>
现在,我尝试使用php从两个表中检索数据,代码如下:
//1.Create a database connection
$connection = mysql_connect("127.0.0.1","root",DB_PASS);
if(!$connection)
{
die("Database connection failed: " . mysql_error());
}
//2.Select a database to use
$db_select = mysql_select_db("fyproject",$connection);
if(!$db_select){
die("Database selection failed: " . mysql_error());
}
//load
$usn = strtoupper($_POST["usn_search"]);
if($usn == ($result1= mysql_query("SELECT usn1 OR usn2 OR usn3 OR usn4 FROM y2011_2012 WHERE usn1=\"$usn\" OR usn2=\"$usn\" OR usn3=\"$usn\" OR usn4=\"$usn\"", $connection)))
{
$result1 = mysql_query("SELECT * FROM y2011_2012 WHERE usn1=\"$usn\" OR usn2=\"$usn\" OR usn3=\"$usn\" OR usn4=\"$usn\"", $connection);
if(!$result1){
die("Database query failed: ". mysql_error());
}
while($row = mysql_fetch_array($result1)){
echo "<head><title>".$row["filename"]."</title></head>";
echo "<body>";
echo "<h2><center>".$row["filename"]."</center></h2>";
echo $row["usn1"]." ".$row["name1"]."<br />";
echo $row["usn2"]." ".$row["name2"]."<br />";
echo $row["usn3"]." ".$row["name3"]."<br />";
echo $row["usn4"]." ".$row["name4"]."<br />";
echo "<h3><center>"."Abstract"."</center></h3>"."<br />";
echo $row["content"]."<br />";
echo "</body>";
}
}
else if($usn == ($result2= mysql_query("SELECT usn1 OR usn2 OR usn3 OR usn4 FROM y2012_2013 WHERE usn1=\"$usn\" OR usn2=\"$usn\" OR usn3=\"$usn\" OR usn4=\"$usn\"", $connection)))
{
$result2 = mysql_query("SELECT * FROM y2012_2013 WHERE usn1=\"$usn\" OR usn2=\"$usn\" OR usn3=\"$usn\" OR usn4=\"$usn\"", $connection);
if(!$result2){
die("Database query failed: ". mysql_error());
}
while($row = mysql_fetch_array($result2))
{
echo "<head><title>".$row["filename"]."</title></head>";
echo "<body>";
echo "<h2><center>".$row["filename"]."</center></h2>";
echo $row["usn1"]." ".$row["name1"]."<br />";
echo $row["usn2"]." ".$row["name2"]."<br />";
echo $row["usn3"]." ".$row["name3"]."<br />";
echo $row["usn4"]." ".$row["name4"]."<br />";
echo "<h3><center>"."Abstract"."</center></h3>"."<br />";
echo $row["content"]."<br />";
echo "</body>";
}
}
else {
echo "Not found!";
}
//1.创建数据库连接
$connection=mysql\u connect(“127.0.0.1”,“root”,DB\u PASS);
如果(!$connection)
{
die(“数据库连接失败:”.mysql_error());
}
//2.选择要使用的数据库
$db\u select=mysql\u select\u db(“fyproject”,$connection);
如果(!$db\u选择){
die(“数据库选择失败:”.mysql_error());
}
//装载
$usn=strtoupper($_POST[“usn_search”]);
如果($usn==($result1=mysql\ U查询(“从2011年至2012年选择usn1或usn2或usn3或usn4,其中usn1=\“$usn\”或usn2=\“$usn\”或usn3=\“$usn\”,$connection)))
{
$result1=mysql\u查询(“从2011年\u 2012年选择*,其中usn1=\“$usn\”或usn2=\“$usn\”或usn3=\“$usn\”或usn4=\“$usn\”,$connection);
如果(!$result1){
die(“数据库查询失败:”.mysql_error());
}
而($row=mysql\u fetch\u数组($result1)){
回显“$行[“文件名]”;
回声“;
回显“$行[“文件名]”;
echo$row[“usn1”]。$row[“name1”]。“
”;
echo$row[“usn2”]。$row[“name2”]。“
”;
echo$row[“usn3”]。$row[“name3”]。“
”;
echo$row[“usn4”]。$row[“name4”]。“
”;
回声“,”摘要“,”
;
echo$row[“content”]。“
”;
回声“;
}
}
else if($usn==($result2=mysql\u查询(“从2012\u 2013年选择usn1或usn2或usn3或usn4,其中usn1=\“$usn\”或usn2=\“$usn\”或usn3=\“$usn\”或usn4=\“$usn\”,$connection)))
{
$result2=mysql\u查询(“从2012\u 2013年选择*其中usn1=\“$usn\”或usn2=\“$usn\”或usn3=\“$usn\”或usn4=\“$usn\”,$connection);
如果(!$result2){
die(“数据库查询失败:”.mysql_error());
}
while($row=mysql\u fetch\u数组($result2))
{
回显“$行[“文件名]”;
回声“;
回显“$行[“文件名]”;
echo$row[“usn1”]。$row[“name1”]。“
”;
echo$row[“usn2”]。$row[“name2”]。“
”;
echo$row[“usn3”]。$row[“name3”]。“
”;
echo$row[“usn4”]。$row[“name4”]。“
”;
回声“,”摘要“,”
;
echo$row[“content”]。“
”;
回声“;
}
}
否则{
回声“找不到!”;
}
现在,每当我尝试输入第一个表中的USN时,我都会无缝地获得所需的输出。。但是假设我把当前的值放在第二个表中,我得到的是一个空白页。。没有来自php的错误页面或最后一个显示“未找到”的回音。。我猜这个值不会传递到第二个else if条件,但我不知道为什么??请帮助我,我真的不明白if子句在代码中是如何工作的。在if子句中,将变量与关联数组进行比较,而关联数组将永远不会相同。所以从技术上讲,它不应该起作用。我修改了你的代码,你能试着运行这个吗
<?php
//1.Create a database connection
$connection = mysql_connect("127.0.0.1","root",DB_PASS);
if(!$connection){
die("Database connection failed: " . mysql_error());
}
//2.Select a database to use
$db_select = mysql_select_db("fyproject",$connection);
if(!$db_select){
die("Database selection failed: " . mysql_error());
}
//load
$usn = strtoupper(mysql_real_escape_string($_POST["usn_search"]));
$result1 = mysql_query("SELECT * FROM y2011_2012 WHERE usn1=\"$usn\" OR usn2=\"$usn\" OR usn3=\"$usn\" OR usn4=\"$usn\"", $connection);
$result2 = mysql_query("SELECT * FROM y2012_2013 WHERE usn1=\"$usn\" OR usn2=\"$usn\" OR usn3=\"$usn\" OR usn4=\"$usn\"", $connection);
if(mysql_num_rows($result1)>0){
while($row = mysql_fetch_array($result1)){
echo "<head><title>".$row["filename"]."</title></head>";
echo "<body>";
echo "<h2><center>".$row["filename"]."</center></h2>";
echo $row["usn1"]." ".$row["name1"]."<br />";
echo $row["usn2"]." ".$row["name2"]."<br />";
echo $row["usn3"]." ".$row["name3"]."<br />";
echo $row["usn4"]." ".$row["name4"]."<br />";
echo "<h3><center>"."Abstract"."</center></h3>"."<br />";
echo $row["content"]."<br />";
echo "</body>";
}
}
else if(mysql_num_rows($result2)>0){
while($row = mysql_fetch_array($result2)){
echo "<head><title>".$row["filename"]."</title></head>";
echo "<body>";
echo "<h2><center>".$row["filename"]."</center></h2>";
echo $row["usn1"]." ".$row["name1"]."<br />";
echo $row["usn2"]." ".$row["name2"]."<br />";
echo $row["usn3"]." ".$row["name3"]."<br />";
echo $row["usn4"]." ".$row["name4"]."<br />";
echo "<h3><center>"."Abstract"."</center></h3>"."<br />";
echo $row["content"]."<br />";
echo "</body>";
}
}else {
echo "Not found!";
}
?>
y2011\u 2012和y2012\u 2013是表还是数据库?@akhil非常抱歉。。这些是tables@RaHuL-我能看看你的表格结构和一些数值吗?太棒了!!!我接受了你的回答,认为这很有用。。非常感谢你。。我会尽力理解你到底做了什么。。我不熟悉php和mysql