0

我在 MySQL 中设置了一个包含两列的表:

  • ID(自动增量)
  • 最近播放(VARCHAR,设置如“1 44”或“2 140”等)

我正在尝试将 mysql 数据放入一个数组并将其与 MySQL 外部定义的内容进行比较。但由于某种原因,它似乎不起作用。这是我的代码:

$whichPlaylist 是一个 1 个字符的 INT,而 $num 是一个 3 个字符的 INT。

//Note: These values are actually received through file_get_contents('textfile.txt');
$whichPlaylist = "1";
$num = "44";

//Combine playlist number and video number
$joint = $whichPlaylist. "" .$num;


//Insert joint var into Mysql database
mysql_query("INSERT INTO recentlyplayed (numplayed) VALUES('$joint') ");


$query = "SELECT * FROM recentlyplayed";
$result = mysql_query($query) or die ("no query");

while($row = mysql_fetch_array($result))
{

$stored[] = $row['1'];
}


if (in_array($joint, $stored['1'])){
$reroll = 1;
}

echo $reroll;

即使 MySQL 表中有相同的 $joint 值,$reroll 也不会回显 1。这可能是因为插入 $joint 变量时有额外的间距吗?我实际上是从一个文本文件中获取 $whichPlaylist 和 $num ,该文本文件在数字后有一个新行。任何帮助表示赞赏。:)

4

2 回答 2

0

在您的脚本中尝试此代码:

$stored = array();
while($row = mysql_fetch_array($result)) {
  $stored[] = $row[1];
}

if (in_array($joint, $stored)){
  $reroll = 1;
}

数组是 $stored(不是 $stored['1'])。

于 2013-01-03T19:27:48.777 回答
0

在 if 语句之后移动 While End 大括号,看看它是否有效。

于 2013-01-03T19:27:01.223 回答