我正在尝试获取一个包含 picname 的 php 数组,其中 nsfwlevel == x。 如果我滚动 0 个图片,则可以从数组中加载 0 个(ecchi.jpg)。但如果我掷出 1,我会得到:
注意: undefined offset :line 38 ($i = rand(0, count($bg)-1);)
上的 1
Stil count($bg) 返回 2,所以那里应该有一些东西。
如果我添加
//$bg = array('ecchi.jpg', 'bg3.jpg');
在 $i = rand(... 之前工作正常,所以我从 mysql 获取数组的方式可能有问题,或者我处理它的方式有问题。
我的数据库如下所示:
| picid | picname | nsfwlevel |
| 1 | ecchi.jpg| 1 |
| 2 | bg3.jpg | 1 |
$connection = mysql_connect("localhost", "root", "");
$db = mysql_select_db("animeclub", $connection);
if{...}
elseif($_SESSION['nsfwlevel'] == 1){
$query = mysql_query("SELECT picname from backgrounds WHERE nsfwlevel='0'", $connection);
$backgroundArray = mysql_fetch_array($query);
$bg = $backgroundArray;
}
elseif{...}
mysql_close($connection);
$i = rand(0, count($bg)-1);
$selectedBg = "$bg[$i]";
感谢您的阅读和帮助!
最佳答案
您必须创建一个循环来获取所有数据:
$bg = array();
$query = mysql_query("SELECT picname from backgrounds WHERE nsfwlevel='0'", $connection);
while ($backgroundArray = mysql_fetch_array($query))
$bg[] = $backgroundArray['picname'];
关于当我对 PHP 数组进行硬编码时,它与从 mysql 获取它时不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990073/