簡體   English   中英

無法將會話變量存儲到數據庫中

[英]cant store session variable into database

我在seassion中存儲了變量。 我想將會話變量和通過表格填寫的其他信息插入表中。 我收到消息說它已創建,但表中沒有任何顯示。

我想獲取會話變量並將其存儲到“用戶名”中,我嘗試過$ username = $ r ['username']; 但不起作用。

<?php
    session_start();
    if($_SESSION['user']==''){
        header("Location:login.php");
    }else{
        $dbh=new PDO('mysql:dbname=mydb;host=127.0.0.1', 'myusername', 'mypassword');


    $sql=$dbh->prepare("SELECT * FROM users WHERE id=?");
    $sql->execute(array($_SESSION['user']));
    while($r=$sql->fetch()){

    $username=$r['username'];  <-im not sure if this is correct.
    $ime=$_POST['ime'];
    $priimek=$_POST['priimek'];
    $email=$_POST['email'];
    $izob=$_POST['izob'];
    $izk=$_POST['izk'];
    $prib=$_POST['prib'];
    $opis=$_POST['opis'];
        $sql = "INSERT INTO profil (ime, priimek, email, izob, izk, prib, opis) VALUES( `username`,`ime` , `priimek ` , `email` , `izob` , `izk` , `prib` , `opis`)";

        try {
            $dbh->exec($sql);
            echo " created successfully";
        } catch(PDOException $e) {
            echo $sql . "<br>" . $e->getMessage();
        }
    }

    $conn = null;
}
?>

CREATE TABLE profil(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(10),
        ime VARCHAR(10) NOT NULL,
        priimek VARCHAR(10) NOT NULL,
        email VARCHAR(20),
        izob VARCHAR(20),
        izk VARCHAR(10),
        prib VARCHAR(10),
        opis VARCHAR(100),
);

感謝幫助

兩個問題:

首先,您僅在插入列表中指定了7個列名,但給了8個值。 最重要的是,您未能指定的列名稱是username名列,即您要查詢的username 其次,您應該在插入中使用實際的PHP變量,而不是在反引號中轉義的列名。 請嘗試以下操作:

$sql = "INSERT INTO profil (username, ime, priimek, email, izob, izk, prib, opis) ";
$sql = $sql . "VALUES(".$username.", ".$ime.", ".$priimek$.", ".$email.", ".$izob.", ".$izk.", ".$prib.", ".$opis.")";

刪除username到您的並添加反引號以插入

應該是這樣的:

$sql = "INSERT INTO profil (`ime`, `priimek`, `email`, `izob`, `izk`, ``prib, `opis`) VALUES(`ime` , `priimek ` , `email` , `izob` , `izk` , `prib` , `opis`)";

大家好,我找到了解決方法。 這行是錯誤的:

$sql= "INSERT INTO test (`column`) VALUES(  '$value1' '$value2)";

Tnx伙計們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM