2017-02-10 41 views
0

我有一个php代码插入会话值到数据库,但我得到这个错误时试图插入Error: INSERT INTO tbale name (amount,bankname) VALUES (20000.00,gtbank) Unknown column 'gtbank' in 'field list'。会话有值GTBANK 下面是我的代码插入会话值数据库会话错误值无法插入数据库

<?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); 
} 
?> 

人谁可以帮助吗?.thanks在数据的基础上,应该覆盖报价

+0

双引号为您解决问题。在一些变量中更好地存储会话值。 – WeAreRight

回答

2

bankname字段是varchar的类型我认为。所以你需要传递字符串''。看下面你的代码应该是这样的。

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

谢谢你解决我的问题 – Dero3376

2

插入时字符串(BANKNAME)。

使用此:

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

我会建议你使用bind_params像以下:

$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