2017-04-14 28 views
-1

テーブルに挿入する際に問題があります。接続ファイルが正しく、header.phpから来ています。エラーはありませんが、テーブル内に入るとレコードが挿入されません。データベースに挿入できません

<?php 

include('header2.php'); 

if(isset($_POST['done'])) { 
    $title = $_POST['title']; 
    $description = $_POST['description']; 
    $link = $_POST['link']; 
    $company = $_POST['company']; 

    $sql = "INSERT INTO placements (title, description, link, company) 
    VALUES ('$title', '$description', '$link','$company')"; 
    // use exec() because no results are returned 
    echo "New record created successfully"; 
} 

?> 

<html> 
<head> 
    <title> Add a Placement </title> 
</head> 
<body> 

<form method="post"> 
    <input type="text" name="title" placeholder="title"> 
    <input type="text" name="description" placeholder="description"> 
    <input type="text" name="company" placeholder="company"> 
    <input type="text" name="link" placeholder="link"> 
    <input type="submit" name="done"> 

</form> 

</body> 
</html> 
+1

クエリを実行するコードが必要なコメントがあります。 –

+2

あなたのコードは[** SQLインジェクション攻撃**](https://en.wikipedia.org/wiki/SQL_injection)に脆弱です。 [** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https://secure.php.net/)を使用してください。 manual/en/pdo.prepared-statements.php)は、[** this post **](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql - インジェクション - イン - php)。 –

+0

(1)変数置換の後に '$ sql'を表示すると、その答えは明らかです。 (2)パラメータの使用方法を学ぶ。クエリ文字列への変数の変更は、クエリの予期せぬ構文エラーや問題を求めているだけです。 –

答えて

0

このクエリはまったく実行されていません。私はあなたのデータベース接続を以下のように仮定し、あなたの質問を実行します。それは動作するはずです。

試験済み

$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

if(isset($_POST['done'])) { 
    $title = $_POST['title']; 
    $description = $_POST['description']; 
    $link = $_POST['link']; 
    $company = $_POST['company']; 

    $sql = "INSERT INTO placements (title, description, link, company) 
    VALUES ('$title', '$description', '$link','$company')"; 

    if (mysqli_query($conn, $sql)) { 
    echo "New record created successfully"; 
    } else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
    } 

} 
関連する問題