使用mysqli时不会插入db的值

时间:2012-06-14 11:21:09

标签: php mysqli

我正在使用mysqli尝试检索教师的用户名,然后将所有值插入到数据库中。但问题是没有任何内容插入到数据库中。

我的错误报告中没有错误,所以我认为在使用mysqli将值插入数据库时​​我只是做错了但是我不确定是什么。任何人都可以给我任何关于它为什么不在db中插入值的指针吗?

以下是代码:

$username="xxx";
$password="xxx";
$database="mobile_app";

  $mysqli = new mysqli("localhost", $username, $password, $database);

  /* check connection */
  if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    die();
  }

$sql = "SELECT TeacherId FROM Teacher WHERE (TeacherUsername = ?)";

$stmt=$mysqli->prepare($sql);
    // You only need to call bind_param once
$stmt->bind_param("s",$_SESSION['teacherusername']);

$stmt->execute(); 
$record = $stmt->fetch();
$teacherid = $record['TeacherId'];

if($_SERVER['REQUEST_METHOD'] == 'POST')

{

$time = str_replace(array(' Hrs ', ' Mins ', ' Secs'), array(':', ':', ''), $_SESSION['durationChosen']);

  $insertsql = "INSERT INTO Session (SessionId, SessionTime, SessionDate, SessionWeight, SessionDuration, TotalMarks, ModuleId, TeacherId, Room) 
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";

 $insert=$mysqli->prepare($insertsql);

 $insert->bind_params("sssssssss", $sessid, $_SESSION['timeChosen'], $sessdate,
                     $_SESSION['textWeight'], $time, $_SESSION['textMarks'],
                     $_SESSION['module'], $teacherid, $_SESSION['rooms']);


for ($i = 1, $n = $_SESSION['sessionNum']; $i <= $n; ++$i) {
    $sessid = $_SESSION['id'] . ($n == 1 ? '' : $i);
    $sessdate = date("Y-m-d", strtotime($_SESSION['dateChosen']));

    $insert->execute();
}

$insert->close();

}

1 个答案:

答案 0 :(得分:0)

尝试逐行调试此事:

  • 将错误报告设置为php文件中的error_reporting(E_ALL);或php ini中的error_reporting = E_ALL
  • 数据库连接是否有效?
  • 在使用之前回显sql查询
  • 它的查询似乎是正确的:将它重建为一个值并逐步重建它以找出错误的位置