mysqli,循环和准备好的语句

时间:2010-02-15 18:58:35

标签: php mysql mysqli prepared-statement

好吧,当我再次回到它时,我不经常使用php来记住它。我对这个有点疯狂。我将在下面发布代码,但有一些快速解释。 con.php是一个创建数据库连接$ wkHook的php文件。连接没有任何问题,所以这不是我的问题。基本上,我从一个表中选择数据,存储它,然后循环它。在该循环中,我试图将数据插入另一个表中。你会注意到我在循环中回显$ mid,这是让我知道循环本身正在工作。它正在发挥作用。当我循环遍历$ mid的每个值时都会回显。但是,循环内的查询无效。它甚至没有抛出错误的礼仪。它只是运行和循环,好像查询不在那里。

require('con.php');
$runonce=$wkHook->prepare("select moveId, Max, Hev, Work, Split, Rps from Movement order by movementId asc");
          $runonce->execute();
          $runonce->store_result();
          $runonce->bind_result($mid, $max, $hev, $wrk, $spt, $rps);
$user=1;

while($runonce->fetch())
{
    echo $mid."<br>";
    $runup=$wkHook->prepare("insert into Entry
(userId, movementId, Max, Hev, Work, Split, Rps)
values
(?, ?, ?, ?, ?, ?, ?)");
    $runup->bind_param('iisssss', $user, $mid, $max, $hev, $wrk, $spt, $rps);
    $runup->execute();
}
$runup->close();
$runonce->close();
$wkHook->close();

1 个答案:

答案 0 :(得分:0)

您似乎一遍又一遍地初始化数据库连接。尝试删除第二个内部require('con.php')

默认情况下,MySQL错误不会向浏览器吐出,您需要调用mysql_error()或mysqli_error函数来查看出现的问题。在循环中执行调用后添加此项以查看是否报告了错误:

echo mysqli_error() . '<br />';
相关问题