2016-08-30 6 views
-1

申し訳ありませんが、テストサーバー(自分が所有していないサーバー)を使用しており、自分のサイトを開発しようとしています。このコードは$ _POST情報をとり、それをmysql dbに挿入する必要があります。 (私は安全ではないことを知っています、私はテスト目的のためにこれを試しています)。PHPスクリプトがデータベースに書き込めない理由をトレースする方法は?

エラーを表示しようとすると、あまりにも曖昧で、行1に引用符が間違っていると言われますが、行1には引用符もありません。

<?php 

include "includes/connect.php"; 

session_start(); 

if($_SESSION['username'] != null) { 
    if($_POST['title'] != null){ 

     $query = mysqli_query($conn, "INSERT INTO posts (id, title, date,  body, author) VALUE (null, '" . $_POST['title'] . "', now(), '" . $_POST['body']  . "', '" . $_POST['author'] . "'"); 



    }else{ 
     echo "Unauthorized"; 
    } 
}else { 

    echo "Unauthorized"; 
} 

?> 
+0

'含み/ connect.php'すべての詳細情報が入力されたかどうかファイルをチェックして正しい –

+0

コードあなたが共有しているのは部分的なコードの完全なコードですか? PHPの開始タグがコードにないためです。 – mi6crazyheart

+0

ええ、私は二重チェック。失敗した場合でも接続ファイルにエラー出力があります...私は100%確信しています。私は接続を使用する他のファイルがあり、バグはありません。おかげで –

答えて

2

あなたの代わりにVALUESVALUEを書きましたように見えます。

また、あなたはあなたのコードを分割し、デバッグのビットを使用する必要があります。

extract($_POST); // Doing this will break up your array keys into variables. 

$sql = "INSERT INTO posts (id, title, date,body, author) VALUES (null, '". $title ."', NOW(), '".$body. "', '". $author."')"; 

$query = mysqli_query($conn, $sql) or die(mysqli_error()); 
+0

私はそれを考えて、VALUESを試しました。しかし、エラーを変更することはありません:( –

0

Change of the syntax of Include shall make a trick for you.

は、クエリを修正してみ

include ("includes/connect.php"); 
+0

ファイルの先頭に 'error_reporting(E_ALL)'を入れ、コード内のエラーを確認してください。 –

+0

これを実行したところ、エラーは表示されません。 –

+0

インクルードファイル私が提案したように –

0

include "includes/connect.php"; 

を交換してくださいVALUEの代わりにVALUESにする必要があります。 これをチェックアウトlink

0

ちょうどあなたがこのいずれかを使用してコードに置き換えます

<?php 
include "includes/connect.php"; 

session_start(); 

if(isset($_SESSION['username']) and ($_SESSION['username'] != null)) { 
    if(isset($_POST['title']) and ($_POST['title'] != null)) { 

     $query = mysqli_query($conn, "INSERT INTO posts (`id`, `title`, `date`, `body`, `author`) VALUES (Null, '".$_POST['title']."', now(), '".$_POST['body']."', '".$_POST['author']."'") or die(mysqli_error($conn)); 



    }else{ 
     echo "Unauthorized"; 
    } 
}else { 

    echo "Unauthorized"; 
} 

?> 
+0

私は、このエラーを出力します。 SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして正しい構文を確認してください。 '1行目近くで使用してください。 –

+0

それからデータベースに接続されているかどうかを確認してください。mysqli_connectクエリ –

0

これが正常に動作します -

<?php 
session_start(); 
include "includes/connect.php"; 

if(isset($_SESSION['username']) && !empty($_SESSION['username'])) { 

    if(isset($_POST['title']) && !empty($_POST['title'])) { 

     $query = mysqli_query($conn, "INSERT INTO posts (`id`, `title`, `date`, `body`, `author`) VALUES (Null, '".$_POST['title']."', now(), '".$_POST['body']."', '".$_POST['author']."'") or die(mysqli_error($conn)); 

     $result = mysqli_query($conn, $query); 

    }else{ 
     echo "Unauthorized"; 
    } 
}else { 

    echo "Unauthorized"; 
} 
?> 
関連する問題