SQL查询中的表值存在问题


Problems with table values in SQL queries

好的,所以我使用了一些php/SQL脚本,这些脚本是我在网上找到的,用于托管一个三月疯狂池网站。设置和调试这些家伙的代码很痛苦,但我基本上做到了。出于某种原因,作者创建了一个"括号"表和一个"分数"表。

"括号"表要大得多,包含以下变量:id、姓名、个人、电子邮件、时间、决胜局,以及所有63个人的游戏选择。每个括号的id递增。name实际上是创建者给括号的名称。person是人名。等等。

出于某种原因,这家伙制作了一个单独的表格来为括号打分。"分数"表包含变量:id、名称、分数和scoring_type。

通过整理数据实际显示在网站上的脚本,我不知道创建者在想什么,但几乎所有显示的数据都使用了"分数"表。

我的问题:分数表没有用于人名的变量。因此,排名和括号都是按照人名显示和组织的。人们一直在问我谁的括号是谁的。我以为实施它会很快,但天哪,我错了。我是MySql的新手,并不完全理解我在做什么。但我查了一些东西,我尝试了很多东西,但都没能奏效。

我尝试过的:我想把这些表格组合成一个表格,但我不想花几个小时在我每年设置一次的东西上。考虑到两个表都有两个相同的值,name和id,我尝试进行一些查询来匹配这些值并请求变量"person"。然而,这些都不起作用。

我用几种不同的方式修改了它:

$query = "SELECT person FROM `brackets' WHERE name='$name'";
$result = mysql_query($query,$db) or die(mysql_error());  
echo "mysql_result($result)";

我尝试使用和不使用变量。我也试过:

$query = 'SELECT * FROM `brackets';
$result = mysql_query($query,$db) or die(mysql_error());  
$dataArray = array(); // create a variable to hold the information
while (($row = mysql_fetch_array($result, MYSQL_ASSOC)) !== false){
    $dataArray[] = $row; // add the row in to the results (data) array
}
$personsNameToDisplay = personsName($name, $dataArray);
echo "$personsNameToDisplay";

对于一个我也尝试过几种方法的函数:

function personsName( $passedBracketName, $dataArray ){
    $personsMatchedName;
    foreach ($dataArray as $key => $value){
          if($value == $passedBracketName ){
               $personsMatchedName = $value['person'];
          }
    }
return $personsMatchedName;
}   

我一直得到的错误是:

Table 'mlmadness.brackets' WHERE name='beasters'' doesn't exist

然而,当我进入mySQL,点击"括号",然后点击"名称"时,肯定会有一个括号的名称值为"beasters">

感谢

"SELECT person FROM 'brackets' WHERE name='{$name}'";

那就行了。你也有blasters' .. the closing should also be而不是


更好的方式:

$mysqli = new mysqli("localhost", "username", "password", "database_name");
$query = "SELECT person FROM brackets WHERE name='{$name}'";
$result = $mysqli->query($query);
while($row = $result->fetch_array())
{
    var_dump($row);
}