使用in_array比较MySQL数据

时间:2013-01-03 19:22:09

标签: php mysql arrays

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

  • ID(auto_increment)
  • 最近播放(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;

即使$ table中的$ joint值相同,$ reroll也不会回显1.这是因为插入$ joint变量时额外的间距?我实际上从一个文本文件中得到$ whichPlaylist和$ num,后面有一个新行。任何帮助表示赞赏。 :)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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

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