2016-10-09 14 views
0

学生が情報を入力できるようにフォームを作成しました。学生が入力するすべてのデータはMYSQLデータベースに保存されます。ただし、フォームフィールドにデータを入力してから送信ボタンをクリックすると、画面にエラーメッセージが表示されます。 ()期待パラメータ1をmysqli_stmtされる、ブールCで与えmysqli_stmt_bind_param:\ XAMPP \ htdocsに\ MYSQL \ studentadded.phpライン317上のmysqlエラーを修正するmysqli_stmt_bind_param()

警告:mysqli_stmt_execute

警告:これらは、次のエラーメッセージでありますCで与えられる()パラメータ1 mysqli_stmtされることを想定し、ブール:\ XAMPP \ htdocsに\ MYSQL \ studentadded.php線上327

警告:\ XAMPP:mysqli_stmt_affected_rows()はCで与えられるブール値、パラメータ1はmysqli_stmtされることを期待します\ htdocs \ MYSQL \ studentadded.php on line 331 エラーが発生しました

警告:\ XAMPP \ htdocsに\ MYSQL \ studentadded.php線上357

警告:パラメータ1 mysqli_stmtするmysqli_stmt_close()は期待し、ブールCで与えmysqli_error()は正確に1つのパラメータ、0 Cで与えられた期待します:\ xamppのは、\ htdocsに\ MYSQL \ studentadded.phpはライン上で361

これはコードです:私はあなたの接続ファイルに問題があるかもしれないと考えて

<!DOCTYPE html> 
    <html> 

    <head> 

    <title>Add Student</title> 

    </head> 
    <body> 

    <?php 



    if(isset($_POST['submit'])){ 



     $data_missing = array(); 



     if(empty($_POST['first_name'])){ 



      // Adds name to array 

      $data_missing[] = 'First Name'; 



     } else { 



      // Trim white space from the name and store the name 

      $f_name = trim($_POST['first_name']); 



     } 



     if(empty($_POST['last_name'])){ 



      // Adds name to array 

      $data_missing[] = 'Last Name'; 



     } else{ 



      // Trim white space from the name and store the name 

      $l_name = trim($_POST['last_name']); 



     } 



     if(empty($_POST['email'])){ 



      // Adds name to array 

      $data_missing[] = 'Email'; 


     } else { 


      // Trim white space from the name and store the name 

      $email = trim($_POST['email']); 



     } 



     if(empty($_POST['street'])){ 



      // Adds name to array 

      $data_missing[] = 'Street'; 



     } else { 



      // Trim white space from the name and store the name 

      $street = trim($_POST['street']); 



     } 



     if(empty($_POST['city'])){ 



      // Adds name to array 

      $data_missing[] = 'City'; 



     } else { 



      // Trim white space from the name and store the name 

      $city = trim($_POST['city']); 



     } 



     if(empty($_POST['state'])){ 



      // Adds name to array 

      $data_missing[] = 'State'; 



     } else { 



      // Trim white space from the name and store the name 

      $state = trim($_POST['state']); 



     } 



     if(empty($_POST['zip'])){ 



      // Adds name to array 

      $data_missing[] = 'Zip Code'; 



     } else { 



      // Trim white space from the name and store the name 

      $zip = trim($_POST['zip']); 



     } 



     if(empty($_POST['phone'])){ 



      // Adds name to array 

      $data_missing[] = 'Phone Number'; 



     } else { 



      // Trim white space from the name and store the name 

      $phone = trim($_POST['phone']); 



     } 



     if(empty($_POST['birth_date'])){ 



      // Adds name to array 

      $data_missing[] = 'Birth Date'; 



     } else { 



      // Trim white space from the name and store the name 

      $b_date = trim($_POST['birth_date']); 



     } 



     if(empty($_POST['sex'])){ 



      // Adds name to array 

      $data_missing[] = 'Sex'; 



     } else { 



      // Trim white space from the name and store the name 

      $sex = trim($_POST['sex']); 



     } 



     if(empty($_POST['lunch'])){ 



      // Adds name to array 

      $data_missing[] = 'Lunch Cost'; 



     } else { 



      // Trim white space from the name and store the name 

      $lunch = trim($_POST['lunch']); 



     } 



     if(empty($data_missing)){ 



      require_once('mysqli_connect.php'); 



      $query = "INSERT INTO students (first_name, last_name, email, 

      street, city, state, zip, phone, birth_date, sex, date_entered, 

      lunch_cost, student_id) VALUES (?, ?, ?, 

      ?, ?, ?, ?, ?, ?, ?, NOW(), ?, NULL)"; 



      $stmt = mysqli_prepare($dbc, $query); 



      /*i Integers 

      d Doubles 

      b Blobs 

      s Everything Else */ 


      //below is line 317 where the error is happening 
      mysqli_stmt_bind_param($stmt, "ssssssisssd", $f_name, 

            $l_name, $email, $street, $city, 

            $state, $zip, $phone, $b_date, 

            $sex, $lunch); 


      //below is line 327 where the error is happening 
      mysqli_stmt_execute($stmt); 


      //below is line 331 where the error is happening 
      $affected_rows = mysqli_stmt_affected_rows($stmt); 



      if($affected_rows == 1){ 



       echo 'Student Entered'; 



       mysqli_stmt_close($stmt); 



       mysqli_close($dbc); 



      } else { 



       echo 'Error Occurred<br />'; 
       //below is line 357 where the error is happening 
       echo mysqli_error(); 


       //below is line 361 where the error is happening 
       mysqli_stmt_close($stmt); 



       mysqli_close($dbc); 



      } 



     } else { 



      echo 'You need to enter the following data<br />'; 



      foreach($data_missing as $missing){ 



       echo "$missing<br />"; 



      } 


     } 



    } 



    ?> 



    <form action="http://localhost/studentadded.php" method="post"> 



     <b>Add a New Student</b> 



     <p>First Name: 

    <input type="text" name="first_name" size="30" value="" /> 

    </p> 



    <p>Last Name: 

    <input type="text" name="last_name" size="30" value="" /> 

    </p> 



    <p>Email: 

    <input type="text" name="email" size="30" value="" /> 

    </p> 



    <p>Street: 

    <input type="text" name="street" size="30" value="" /> 

    </p> 



    <p>City: 

    <input type="text" name="city" size="30" value="" /> 

    </p> 



    <p>State (2 Characters): 

    <input type="text" name="state" size="30" maxlength="2" value="" /> 

    </p> 



    <p>Zip Code: 

    <input type="text" name="zip" size="30" maxlength="5" value="" /> 

    </p> 



    <p>Phone Number: 

    <input type="text" name="phone" size="30" value="" /> 

    </p> 



    <p>Birth Date (YYYY-MM-DD): 

    <input type="text" name="birth_date" size="30" value="" /> 

    </p> 



    <p>Sex (M or F): 

    <input type="text" name="sex" size="30" maxlength="1" value="" /> 

    </p> 



    <p>Lunch Cost: 

    <input type="text" name="lunch" size="30" value="" /> 

    </p> 



    <p> 

     <input type="submit" name="submit" value="Send" /> 

    </p> 



    </form> 

    </body> 

    </html> 
+0

これらの 'mysqli_prepare()'呼び出しにはエラー処理がありません。 –

答えて

0

mysqli_connect.php

ここ

はあなたの参照のための私のコード私はあなたのコードとその作業を実行してきたこの接続パラメータで

define("DB_HOST", "localhost"); 
define("DB_USERNAME", "username"); 
define("DB_PASSWORD", "password"); 
define("DB_NAME", "database name"); 
$dbc = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); 

です。

mysqli_errorが接続リンクで一つのパラメータを受け入れ echo mysqli_error($dbc);

にラインecho mysqli_error();を変更してください。

+0

ありがとうございます。 –

関連する問題