我正在将我的网站从使用 mysql 更改为 mysqli。到目前为止,更改非常简单,但我有一个带有 for 循环的日历页面,切换后该页面不起作用。我很确定是循环导致了错误,但我似乎找不到修复方法。
这是代码的选择,它适用于 mysql_query(我已注释掉),但不适用于 mysqli->query
<?php include("conn.php");
$today = mktime(12,0,0,date("m"),1,date("Y"));
$currentmonth = date(m, $today);
$currentyear = date(Y, $today);
$prevmonth = $currentmonth - 1;
$prevyear = $currentyear;
$prevdate = mktime(12, 0, 0, $prevmonth, 1, $prevyear);
$pdim = date("t", $prevdate);
function showMonth($month, $year, $pdims, $prevmonths, $prevyears)
{
$caldate = mktime(12, 0, 0, $month, 1, $year);
$offset = date("w", $caldate);
$pdimsplus = $pdims + 1;
$enddays = $pdimsplus - $offset;
for($i = 1; $i <= $offset; $i++)
{
$qryhead1 = "SELECT * FROM photos WHERE day(date) = $enddays AND month(date) = $prevmonths AND year(date) = $prevyears LIMIT 1";
//$res1 = $mysqli->query($qryhead1);
//$noofrec1 = $res1->num_rows;
//if ($noofrec1 > 0) {
//while ($row1 = mysqli_fetch_object($res1)) {
$res1 = mysql_query($qryhead1);
$noofrec1 = mysql_num_rows($res1);
if ($noofrec1 > 0) {
while ($row1 = mysql_fetch_object ($res1)) {
$id = $row1->id;
$image = $row1->image; ?>
<div><?php print("$enddays"); ?><a href="<?php print("$id"); ?>"><img src="/images/<?php print("$image"); ?>"></a></div>
<?php }
} else { ?>
<div><?php print("$enddays"); ?></div>
<?php }
$enddays++;
}
}
?>
<div>
<?php showMonth($currentmonth, $currentyear, $pdim, $prevmonth, $prevyear); ?>
</div>
最佳答案
如果您有 $mysqli
对象(我假设您在 conn.php 中创建了一个),您没有将其作为自定义函数 showMonth()
的函数参数传递。 。阅读 variable scope .
关于php - 从 MySQL 切换到 MYSQLi - 循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069626/