2017-02-10 2 views
0

Ich habe einen PHP-Code, der Sitzungswert in die Datenbank einfügen, aber ich bekomme diesen Fehler beim Versuch, Error: INSERT INTO tbale name (amount,bankname) VALUES (20000.00,gtbank) Unknown column 'gtbank' in 'field list' einfügen. Die Sitzung hat den Wert GTBANK unten ist mein Code, der Sitzungswert einfügen zur DatenbankSitzungsfehler-Wert kann nicht in DB einfügen

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

jedermann, bitte helfen? .thanks

+0

doppelte Anführungszeichen tun Problem für Sie. Speichern Sie die Sitzungswerte in einigen Variablen besser. – WeAreRight

Antwort

2

bankname Feld ist Typ von varchar Ich denke. Sie müssen also eine Zeichenfolge mit Anführungszeichen '' übergeben. Siehe unten, Ihr Code sollte so sein.

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

danke das löst mein Problem – Dero3376

2

Beim Einfügen string (Bankname) in der Datenbank sollte es mit Zitat abgedeckt werden.

verwenden:

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

Ich schlage vor, Sie bind_params zu verwenden wie folgt vor:

$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 
} 

Das Argument einer von vier Typen sein kann, während die Bindung:

i - integer 
d - double 
s - string 
b - BLOB