我在MySQL中设置了一个包含两列的表:
我正在尝试将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,后面有一个新行。任何帮助表示赞赏。 :)
答案 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'])。