2016-05-25 52 views
0

好吧,請承擔事實,我是一個總的初學者,當涉及到PHP。 我想插入一些值到我的SQL數據庫(SQL Server 2008r2),但我不斷收到http錯誤500(內部服務器錯誤)。我不知道我做錯了什麼,所以也許你們有些人可以幫忙。http錯誤500當試圖插入日期到SQL服務器2008r2使用PHP

我connection.php:

<?php 
try 
{ 
    //connectie met sql-server, in dit geval met windows authenticatie 
    $pdo = new PDO('sqlsrv:server=.\SQLEXPRESS;database=Marcel;','',''); 
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch (PDOException $e) 
{ 
    echo 'Unable to connect to the database server.' . $e->getMessage(); 
    exit; 
} 
?> 

我的形式:

<form method="post" action="InsertBlogEntry.php"> 
    <div class="form-group"> 
     <label for="Artikelnaam">Artikelnaam:</label> 
     <input type="text" class="form-control" id="Artikelnaam" name="Artikelnaam"> 
    </div> 
    <div class="form-group"> 
     <label for="Artikelonderwerp">Artikelonderwerp</label> 
     <input type="text" class="form-control" id="Artikelonderwerp" name="Artikelonderwerp"> 
    </div> 
    <div class="form-group"> 
     <label for="Artikeltext">Artikeltext</label> 
     <textarea class="form-control" id="Artikeltext" rows="10" name="Artikeltext" style="resize: vertical;"></textarea> 
    </div> 
    <button type="submit" class="btn btn-default" style="display: block; margin: auto;">Submit</button> 
</form> 

我InsertBlogEntry.php:

<?php 
    //set local time for $timeSubmitted 
    setlocale(LC_TIME, 'NL_nl'); 

    //define values 
    $timeSubmitted = strftime('%A %d %B %Y om %H:%M',time()); 
    $Author = $_SESSION['login_user']; 
    $AtrikelNaam = $_POST['Artikelnaam']; 
    $Onderwerp = $_POST['Artikelonderwerp']; 
    $ArtkikelInhoud = $_POST['Artikeltext']; 

    //include connection 
    include ('connection.php'); 

    //statement 
    $sql = sqlsrv_query("INSERT INTO BlogEntries (BlogTimeSubmitted, BlogAuthor, ArtikelName, ArtikelOW, ArtikelInhoud) VALUES ('$timeSubmitted', '$Author', '$AtrikelNaam', '$Onderwerp', '$ArtkikelInhoud')"); 

    //prepare and execute query 
    $stmt = sqlsrv_query($pdo, $sql); 

    if($stmt) 
    { 
     echo 'succes'; 
    } 
    else 
    { 
     echo 'failure'; 
     die (print_r(sqlsrv_errors(), true)) 
    } 

    //close connection 
    sqlsrv_close($pdo); 
?> 

我試圖在插入值的表:

CREATE TABLE BlogEntries 
(
ID int not null IDENTITY(1, 1), 
BlogTimeSubmitted datetime, 
BlogAuthor varchar(64), 
ArtikelName varchar(64), 
ArtikelOW varchar (64), 
ArtikelInhoud varchar(max) 
); 

//just for dropping the table 
drop table BlogEntries 

alter table BlogEntries 
ADD CONSTRAINT PK_BlogID PRIMARY KEY (ID) 

我真的希望你們中的一些可以幫我解決這個問題,再次請溫柔,因爲我總PHP初學者:)

編輯

我增加了一些下面我的IIS日誌可能提供更多的信息,我試圖分析和谷歌上搜索他們,但我不能弄清楚也許有些你可以:

2016-05-25 17:41:00 ::1 POST /marcel+website/InsertBlogEntry.php - 22926 - ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/50.0.2661.102+Safari/537.36 http://localhost:22926/marcel%20website/AddBlogEntry.php 500 0 0 6 

2016-05-25 17:41:00 ::1 POST /marcel+website/InsertBlogEntry.php - 22926 - ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/50.0.2661.102+Safari/537.36 http://localhost:22926/marcel%20website/AddBlogEntry.php 500 0 0 8 

2016-05-25 17:41:00 ::1 POST /marcel+website/InsertBlogEntry.php - 22926 - ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/50.0.2661.102+Safari/537.36 http://localhost:22926/marcel%20website/AddBlogEntry.php 500 0 0 11 
+0

日誌中的任何內容?其他腳本/ PHP代碼工作連接到數據庫? – Doon

+0

查看Web服務器錯誤日誌。你也沒有使用準備好的語句。 http://bobby-tables.com/ SQL注入 –

+0

@Doon我不確定你的意思是什麼日誌(我對此非常陌生),但我可以訪問數據庫並在我的頁面上顯示其內容,沒有問題,我也有使用數據庫的工作登錄名 –

回答

0

我不打算對500作爲評論表示發生較嚴重PHP。

我發現,與MS SQL服務器工作只有日期格式,工作可靠,當是:

YYYYMMDD hh:mm:ss

在PHP中,這是

%Y%m%d %H:%M:%S

更新: 看起來像你錯過了; f從你的dieelse

+0

啊好吧,太糟糕了,你不能幫助500錯誤,但謝謝你的提示關於日期格式! –

+0

答覆已更新。 – Skrrp