Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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变量内容_Php_Mysql - Fatal编程技术网

未显示PHP变量内容

未显示PHP变量内容,php,mysql,Php,Mysql,正如你从下面的代码中看到的,我对PHP非常陌生,所以请原谅我这个新手的问题,但是我整个下午都在努力解决这个问题,只是不知道到底是什么问题 基本上,我有三个下拉菜单,分别是第一队、第二队和场地。 当用户选择球队和场地时,会触发isset功能,我会从数据库中提取比赛结果 正如您在下面的代码中所看到的,我使用3条echo语句来测试下拉菜单中的值是否正确。当我打开页面时,echo语句确认从下拉列表中捕获了正确的结果,我继续使用我上面回显的变量查询数据库 问题 在while循环中,我想回显查询的结果,但什

正如你从下面的代码中看到的,我对PHP非常陌生,所以请原谅我这个新手的问题,但是我整个下午都在努力解决这个问题,只是不知道到底是什么问题

基本上,我有三个下拉菜单,分别是第一队、第二队和场地。 当用户选择球队和场地时,会触发isset功能,我会从数据库中提取比赛结果

正如您在下面的代码中所看到的,我使用3条echo语句来测试下拉菜单中的值是否正确。当我打开页面时,echo语句确认从下拉列表中捕获了正确的结果,我继续使用我上面回显的变量查询数据库

问题

在while循环中,我想回显查询的结果,但什么也不显示。我尝试进行var_转储以查看变量的内容,但没有显示任何内容。我做错了什么

foreach($_REQUEST["team1"] as $teamone){
        $team1 = $teamone;
         }
        foreach($_REQUEST["team2"] as $teamtwo){
        $team2 = $teamtwo;  
        }
         foreach($_REQUEST['venue'] as $venue){
             $venue = $venue;
         }
        //These echo statments are a test to see if the correct dropdown values has been captured
        echo $team1.'<br>';
        echo $team2.'<br>';
        echo $venue;
        //Use results from dropdown menu to query database 
    $result = mysql_query('SELECT * 
                      FROM  `results` 
                      WHERE  `hometeam` =  "$team1" &&  `awayteam` = "$team2"') or 
                          die(mysql_error());                                                           

        while($row = mysql_fetch_array($result)){
        echo $row['awayteamscore'];
        echo $row['hometeamscore'];
        }
foreach($\u请求[“team1”]作为$teamone){
$team1=$teamone;
}
foreach($_请求[“team2”]作为$teamtwo){
$team2=$teamtwo;
}
foreach($_请求['venture']作为$venture){
$VICENT=$VICENT;
}
//这些回波信号是一种测试,以查看是否捕获了正确的下拉值
echo$team1.“
”; echo$team2.“
”; 地点;; //使用下拉菜单中的结果查询数据库 $result=mysql\u查询('SELECT* 来自“结果” 其中,`hometeam`=“$team1”&&&`awayteam`=“$team2””)或 die(mysql_error()); while($row=mysql\u fetch\u数组($result)){ echo$row['awayteamscore']; echo$行['hometeamscore']; }

如果有人能给我指出正确的方向,我将不胜感激。

您将SQL查询放在单引号中,变量在其中不起作用。试试这个:

<?php
$var = "stuff";
echo '$var';
echo "$var";
?>

您的
foreach
循环正在覆盖这些值。最好将其放入这样的数组中

$team1 = array();
foreach($_REQUEST["team1"] as $teamone){
    $team1[] = $teamone;
}
如果需要将
$team1
的值设置为字符串,那么这将更合适

$team1 = "";
foreach($_REQUEST["team1"] as $teamone){
    $team1 .= $teamone;
}
首先解决上述问题可能会有所帮助。如果不是,那么问题可能出在数据库查询中

//Using double quotes

"SELECT * FROM  `results` WHERE  `hometeam` =  '$team1' &&  `awayteam` = '$team2'"

//Using single quotes

'SELECT * FROM  `results` WHERE  `hometeam` =  "'.$team1.'" &&  `awayteam` = "'.$team2.'"'
然后显示结果

while($row = mysql_fetch_array($result)){
    echo $row['awayteamscore'];
    echo $row['hometeamscore'];
}

我怀疑您收到sql语法错误至少有两个原因 首先,当您想在字符串中使用变量值时,必须使用双引号

$sql="select * from mytable where col1='$my_var'";
第二:SQL希望字符串值以简单的引号括起来,正如我上面所指出的。在您的情况下,使用“”引号

还有一条建议。在调试php应用程序时,通过插入

error_reporing(E_ALL);

在php脚本开始的某个地方,我的朋友,你的代码很好,你只需要检查你提交的Dropbox是否与表单一致,所以首先检查你的html,当你
var\u dump($\u请求)时
它应该是一个数组,包含您试图收集的所有值

您混合了双引号和单引号。而变量不应该用双引号四舍五入

   $result = mysql_query(" SELECT * 
                  FROM  `results` 
                  WHERE  `hometeam` =  '$team1' &&  `awayteam` = '$team2' ") or 
                      die(mysql_error());                                                           

    while($row = mysql_fetch_array($result)){
    echo $row['awayteamscore'];
    echo $row['hometeamscore'];
    }

mysql查询是否返回任何结果或错误?我假设您在代码的其他部分正确地连接到数据库。对吗?您是否有var_dump($_请求)?@AggelosSynadakis我没有收到任何错误,我可以确认我已成功连接到数据库,尽管这与您的问题无关,但是如果你是PHP新手,那么你应该把时间花在PDO上,而不是
mysql\uuz
操作上。为什么你有3个forloops来访问3个不同的变量呢?你错了,伙计,($row=mysql\u fetch\u array($result))即使是PHP本身也不会导致无限循环it@AboQutiesh是的,我看到了。编辑它。很抱歉,我习惯了mysqli编写的语句谢谢你修复了它,我会记住,因为在未来,这不是我最初的问题的一部分,你可以给我一些建议,让我根据我使用的3个forloop来清理我的代码。显然,这不是从3个下拉框中获取值的最有效的方法,你知道我可以用1个forloop来代替3个吗?
   $result = mysql_query(" SELECT * 
                  FROM  `results` 
                  WHERE  `hometeam` =  '$team1' &&  `awayteam` = '$team2' ") or 
                      die(mysql_error());                                                           

    while($row = mysql_fetch_array($result)){
    echo $row['awayteamscore'];
    echo $row['hometeamscore'];
    }