2017-08-24 26 views
2

我有一個HTML表單,並希望它的輸出插入我的(本地)MySQL。 但是,它成功一次後,當我提交表單並且我沒有更改代碼時,它突然不再工作了。現在,我只看到一個空白頁面,其中包含網絡後期請求標籤。它怎麼沒有被插入?sql查詢突然不通過php

的script.php:

<?php 
$postdata = file_get_contents("php://input"); 
$link = mysqli_connect("127.0.0.1", "root", "", "izandb"); 

if(isset($_POST['submit'])) { 
$klas = $_POST['klasDown']; 
$naam = $_POST['naamTxt']; 

$stmt = $link->prepare('INSERT INTO resultaten (Klas, Naam, Percentages, 
Antwoorden) VALUES (?, ?, ?, ?)'); 
$stmt->bind_param('ssss', $klas, $naam, $klas, $klas); 
$stmt->execute(); 
echo "Insertion succeed"; 
} else { 
echo "Insertion not succeed"; 
} 
?> 

HTML表單:

<form id="myForm" method="post" action="script.php"> 
Volledige naam: <input name="naamTxt" type="text" maxlength="512" id="naamTxt" 
class="searchField"/> <br> 
Klas: <select name="klasDown"> 
    <option value="H4A" selected="selected">H4A</option> 
    <option value="H4B" >H4B</option> 
    <option value="H4C">H4C</option> 
    <option value="H4C">H4D</option> 
    <option value="H4C">V4A</option> 
    <option value="H4C">V4B</option> 
    <option value="H4C">V4C</option> 
    <option value="H4C">V4D</option> 

</select> 
</div> 


<div class="row"> 
<div class="col-4">1. Ik ben spontaan. </div> 
<div class="col text-center"><input type="radio" name="v1" id="v1_1" 
value="Helemaal mee oneens"></div> 
<div class="col text-center"><input type="radio" name="v1" id="v1_2" 
value="Deels oneens"></div> 
<div class="col text-center"><input type="radio" name="v1" id="v1_3" 
value="Neutraal"></div> 
<div class="col text-center"><input type="radio" name="v1" id="v1_4" 
value="Deels mee eens"></div> 
<div class="col text-center"><input type="radio" name="v1" id="v1_5" 
value="Helemaal mee eens"></div> 
</div> 

<br> <input type="submit" name="submit" value="submit" onsubmit="bereken()"></input> 

+0

檢查您的服務器日誌是否有錯誤。 – Barmar

+0

我沒有看到任何錯誤@Barmar – user3660293

+0

打開錯誤報告 – Akintunde007

回答

0

好了,你說話和重現場景之後,我能夠修改劇本了一下,拿出一些東西,對我來說工作得很好。

<?php 
$postdata = file_get_contents("php://input"); 

mysqli_report(MYSQLI_REPORT_ALL); 

try 
{ 
    $link = new mysqli('localhost', 'test_account', 'test_password', 'database'); 
} 
catch(Exception $e) 
{ 
    echo 'Error: ' . $e->getMessage(); 
} 


if(isset($_POST['submit'])) { 
    $klas = $_POST['klasDown']; 
    $naam = $_POST['naamTxt']; 

    $query = 'INSERT INTO resultaten (Klas, Naam, Percentages, Antwoorden) VALUES (?, ?, ?, ?)'; 

    if ($stmt = $link->prepare($query)) 
    { 
     $stmt->bind_param('ssss', $klas, $naam, $klas, $klas); 
     $stmt->execute(); 
     $stmt->close(); 
     echo "Insertion succeed"; 
    } else { 
     echo "Insertion not succeed"; 
    } 
} 
?> 
+1

再一次,非常感謝解決這個問題..原來這個項目並沒有在服務器上完成。 – user3660293

+0

沒問題兄弟!很高興我能幫到 – Samuel

+0

我覺得我搞砸了一些東西 – user3660293

0

請務必關閉在你的代碼。

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
    } 
    echo "<pre>"; 
    print_r($_POST); 

插入此代碼,查找錯誤

+0

它給了我這個:Array ( ) – user3660293

+0

如果$ _POST ['submit']爲空,代碼塊將永遠不會再執行。 – MUJEEB