Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将内容放入数据库_Php_Html_Mysql_Session_Phpmyadmin - Fatal编程技术网

Php 无法将内容放入数据库

Php 无法将内容放入数据库,php,html,mysql,session,phpmyadmin,Php,Html,Mysql,Session,Phpmyadmin,我试图将表单结果放入数据库,但它无法正常工作。似乎没有发生错误,我的代码怎么了? 这是我预订表格的第一页: $booking_sql = "SELECT * FROM calendar, missions WHERE calendar_id = '%d' AND calendar.missions_id = missions.missions_id" ; $_SESSION['booking']['calendar']; $booking_query = mysqli_query($dbconn

我试图将表单结果放入数据库,但它无法正常工作。似乎没有发生错误,我的代码怎么了? 这是我预订表格的第一页:
$booking_sql = "SELECT * FROM calendar, missions WHERE calendar_id = '%d' AND calendar.missions_id = missions.missions_id" ;
$_SESSION['booking']['calendar'];
$booking_query = mysqli_query($dbconn, $booking_sql) or die(mysqli_error());
$rsBooking = mysqli_fetch_assoc($booking_query);
?>
 <form action="confirm.php" method="post" name="fmNumCon" id="fmNumCon">
        <div class="row"><span class="label"><strong class="full"></strong></span> <span class="element"><h4><?php echo $rsBooking['missions_name'].', '.$rsBooking['calendar_date']; ?></h4></span></div>
        <div class="row"><span class="label"><h4>*Number of people:</h4></span><span class="element">
          <select name="number" id="number" onchange="getNumber()">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
          </select>
          </span></div>
       <!--  <div class="row"><span class="label"</span><span class="element"><h4>$NZDisplay cost per person.00</h4><input type="hidden" name="price" id ="price" value="" /></span></div>
        <div class="row"><span class="label">&nbsp;</span><span class="element">
          <a id="update" href="booking.php?mode=update">Update cost</a>
        </span></div> -->
        <div class="row"><strong class="full"><h4>Conatact details:</h4></strong>&nbsp;</div>
        <div class="row">
          <input name="name" type="text" id="name" value="<?= isset($name) ? $name : ''?>" placeholder="name"/>
         </div>




        <div class="row">
          <input name="$phone" type="text" id="phone" placeholder="phone" value="<?= isset($phone) ? $phone : ''?>"/>
          </div>

        <div class="row">
          <input name="email" type="text" id="email" placeholder="email" value="<?= isset($email) ? $email : ''?>"/>
          </div>
        <div class="row">
          <input type="reset" name="Reset" value="Reset" />

          <input type="submit" name="Submit" value="Continue" />
          </div>
      </form>
$booking\u sql=“从日历中选择*任务,其中日历\u id=“%d”和日历.missions\u id=任务.missions\u id”;
$_会话[“预订”][“日历”];
$booking_query=mysqli_query($dbconn,$booking_sql)或die(mysqli_error());
$rsBooking=mysqli\u fetch\u assoc($booking\u query);
?>

*人数:
1.
2.
3.
4.
数据详细信息:

我稍微调整了一下你的Thanke.php

  • 在其他脚本中,您使用了mysqli的过程语法,在Thank.php中,您切换到了对象语法

  • 删除了所有注释行

  • session_start()应该始终位于程序的顶部(在ini指令之后),如果您在包含的文件中意外地有一些输出,否则将导致致命错误

  • 我使用准备好的语句来处理从用户那里获得的数据,这样,如果输入中有特殊字符,查询的格式就不会被破坏

  • 启用显示错误,以便显示您的错误(当您完成测试时,您可以删除这些行,您不希望在生产时向用户显示技术错误消息)

  • 使用trigger_error捕获数据库抛出的错误,将其视为php错误

代码如下所示:

<?php 
/*
* enable display_errors
*/
ini_set('display_errors', 1);
error_reporting(-1);

/*
* start session, construct connection to db
*/
session_start();
require_once('includes/dbconn.php');

/*
* define your variables
*/
$date = date('Y-m-d');
$name = $_POST['name'];
$number = $_POST['number'];
$phone = $_POST['phone'];
$email = $_POST['email'];

/*
* define your sql-statemnt
* send the statement to the database "preparation"-process
* check if the database had any troubles by asking it for errors
*/
$booking_sql = "INSERT INTO bookings (booking_name, booking_number, booking_phone, booking_email, booking_date) VALUES (?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($dbconn ,$booking_sql);
if(mysqli_errno($dbconn) !== 0){
    trigger_error(mysqli_error($dbconn));
}

/*
* bind your variables to the prepared statement
* execute the statement
* again, ask if the database had any troubles
*/
mysqli_stmt_bind_param($stmt, "sssss", $name, $number, $phone, $email, $date);
mysqli_stmt_execute($stmt);
if(mysqli_errno($dbconn) !== 0){
    trigger_error(mysqli_error($dbconn));
}

$_SESSION = array();
?>
<h2>Booking complete </h2>

预订完成

您的感谢中没有定义
$booking\u sql
。phpho我该如何定义它?我对php的理解还处于初级阶段,因此非常感谢您的帮助。@jeff不要忘记接受他的答案,如果它对您有帮助的话!:)
<?php require_once('includes/dbconn.php'); ?>
<?php session_start();
$date = date('Y-m-d');
// $calendar = $_POST['calendar_date'];
$name = $_POST['name'];
$number = $_POST['number'];
$phone = $_POST['phone'];
$email = $_POST['email'];
// $booking_sql = "INSERT into bookings (calendar_id, booking_name, 
// booking_number, booking_phone, 
// booking_email, booking_date) VALUES ('$calendar','$name', 'number', 'phone', 'email')";
$booking_sql = "INSERT INTO bookings (booking_name, 
booking_number, booking_phone, 
booking_email, booking_date)
        VALUES ('$name','$number','$phone','$date')";
    $dbconn->query($booking_sql);


// $sql = "INSERT INTO bookings (booking_fname, booking_lname, booking_email, user_id, date_id)
//         VALUES ('$fName','$lName','$email', '$userid', '$dateid')";
//     $dbc->query($sql);


$booking_query = mysqli_query($dbconn, $booking_sql);
$_SESSION = array();
// session_destroy();
// if(!isset($_COOKIE['active'])) {
//   setcookie('active', 'no', time() + 31536000);
// }
?>
<h2>Booking complete </h2>
      <p>&nbsp;</p>
      <p>Thank you for choosing <strong>Mountain Bike Missions</strong>.</p>
      <p>To check your booking immediately, you can log in with your email address <a href="login.php">here</a>. At any another time, please use the <strong>Check booking</strong> link in the <strong>Booking</strong> section of the site.</p>
<?php 
/*
* enable display_errors
*/
ini_set('display_errors', 1);
error_reporting(-1);

/*
* start session, construct connection to db
*/
session_start();
require_once('includes/dbconn.php');

/*
* define your variables
*/
$date = date('Y-m-d');
$name = $_POST['name'];
$number = $_POST['number'];
$phone = $_POST['phone'];
$email = $_POST['email'];

/*
* define your sql-statemnt
* send the statement to the database "preparation"-process
* check if the database had any troubles by asking it for errors
*/
$booking_sql = "INSERT INTO bookings (booking_name, booking_number, booking_phone, booking_email, booking_date) VALUES (?, ?, ?, ?, ?)";
$stmt = mysqli_prepare($dbconn ,$booking_sql);
if(mysqli_errno($dbconn) !== 0){
    trigger_error(mysqli_error($dbconn));
}

/*
* bind your variables to the prepared statement
* execute the statement
* again, ask if the database had any troubles
*/
mysqli_stmt_bind_param($stmt, "sssss", $name, $number, $phone, $email, $date);
mysqli_stmt_execute($stmt);
if(mysqli_errno($dbconn) !== 0){
    trigger_error(mysqli_error($dbconn));
}

$_SESSION = array();
?>
<h2>Booking complete </h2>