好的,所以我使用了一些我在网上找到的用于托管March Madness池网站的php / SQL脚本。设置和调试这些代码是一件痛苦的事,但我基本上已经开始工作了。出于某种原因,作者创建了一个“括号”表和一个“得分”表。
“括号”表格更大,包含以下变量:id,姓名,人物,电子邮件,时间,决胜局以及所有63个人游戏选择。每个括号的id增量。 name实际上是创建者为括号指定的名称。人是人的名字。等等。
出于某种原因,这个家伙为支架得分做了一个单独的表。 “得分”表包含变量:id,name,score和scoring_type。
对数据实际显示到网站的脚本进行排序,我不知道创建者在想什么,但几乎所有显示的数据都使用“得分”表。
我的问题:得分表没有人名的变量。所以排名和括号都是通过人们给出括号的名称来显示和组织的。人们一直在问我哪个支架是谁的。我认为这是一个快速解决方案来实现它,但男孩是我错了。我是MySql的新手,并不完全理解我在做什么。但我看了一些东西,我尝试了很多东西,但无法让它发挥作用。
我尝试了什么:我正在考虑将这些表合并为一个,但我不想花一些时间在我每年建立一次的东西上。确定两个表有2个相同的值,名称和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”的括号
由于
答案 0 :(得分:0)
"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);
}