2017-02-10 8 views
0

データベースにセッション値を挿入するPHPコードがありますが、挿入しようとするとこのエラーが発生しますError: INSERT INTO tbale name (amount,bankname) VALUES (20000.00,gtbank) Unknown column 'gtbank' in 'field list'セッションの値はGTBANKです 以下はセッション値を挿入するコードですデータベースにしてくださいすることができますセッションエラー値がDBに挿入されません

<?php 

    session_start(); { 



    //Include database connection details 
    include('../../dbconnect.php'); 

    if($_SESSION["bn"]) { 

} 

$amount = strip_tags($_POST['cat']); 
$field1amount = $_POST['cat']; 
$field2amount = $field1amount + ($field1amount*0.5); 


$sql = "INSERT INTO provide_help (amount,bankname) VALUES ($field1amount,".$_SESSION['bn'].")"; 
if (mysqli_query($conn, $sql)) 


$sql = "INSERT INTO gh (ph_id, amount) VALUES (LAST_INSERT_ID(), $field2amount)"; 
if (mysqli_query($conn, $sql)) 

{ 
    $_SESSION['ph'] ="<center><div class='alert alert-success' role='alert'>Request Accepted.</div></center>"; 
    header("location: PH.php"); 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 

mysqli_close($conn); 
} 
?> 

誰が?データベースには引用符で覆われるべきで

+0

二重引用符が問題です。いくつかの変数にセッションの値を格納する方が良い。 – WeAreRight

答えて

2

banknameフィールドはvarcharのタイプと思います。だからあなたは引用符で文字列を渡す必要があります''。あなたのコードは以下のようになるはずです。

$sql = "INSERT INTO provide_help (amount,bankname) 
    VALUES ($field1amount,'".$_SESSION['bn']."')"; 
+0

私の問題を解決していただきありがとうございます – Dero3376

2

挿入する文字列(bankName)を.thanks。

使用この:

$sql = "INSERT INTO provide_help (amount,bankname) VALUES ($field1amount,'".$_SESSION['bn']."')"; 
                     //^    ^--- Single quote added 

私はあなたが以下のようにbind_paramsを使用することをお勧めします:結合しながら、引数は4種類のものであってもよい

$stmt = $conn->prepare("INSERT INTO provide_help (amount,bankname) VALUES (?, ?)"); 
$stmt->bind_param("ds", $field1amount, $_SESSION['bn']); 
if ($stmt->execute()){ 
    // handle success 
} else { 
    // handle error 
} 

を:

i - integer 
d - double 
s - string 
b - BLOB 
関連する問題