简体   繁体   English

PHP,SQL插入无效

[英]PHP, SQL Insert no works

i would like to know why i am not able to insert new data to my Database. 我想知道为什么我不能将新数据插入数据库。 in vardump i get good result but nothing is added to my database 在vardump中,我得到了很好的结果,但是没有任何内容被添加到我的数据库中

Database : c_id = AutoInc. 数据库:c_id = AutoInc。 | | a_id | a_id | u_id | u_id | c_head | c_head | c_content | c_content | c_date =TIMESTAMP c_date =时间戳

if (isset($_POST['c_submit'])) {
   $sql_najdi_prihlaseneho_uzivatela = "SELECT * FROM users where u_name = '$_SESSION[username]'";
   $vysledokHladania = mysqli_query($connect_to_db, $sql_najdi_prihlaseneho_uzivatela);
   if (mysqli_num_rows($vysledokHladania) == 1) {
       while ($db_data_prihlaseneho_uzivatela = mysqli_fetch_assoc($vysledokHladania)) {
            $sql_vloz_komentar = "INSERT INTO comments (a_id, u_id, c_head, c_content, c_date) VALUES ($_GET[a_id], $db_data_prihlaseneho_uzivatela[u_id], $_POST[c_hlavicka], $_POST[c_obsah], 'NOW()')";
            mysqli_query($connect_to_db, $sql_vloz_komentar);
        }
    }
}

You can use date('Ymd h:i:s') to store current date time in our DB by PHP code and in your query you just missed to put '' in array index. 您可以使用date('Ymd h:i:s')通过PHP代码将当前日期时间存储在我们的数据库中,而在查询中您只是想将''放在数组索引中。
Try this one 试试这个

if (isset($_POST['c_submit'])) {
    $date=date('Y-m-d h:i:s');
    $sql_najdi_prihlaseneho_uzivatela = "SELECT * FROM users where u_name = '".$_SESSION['username']."'";
    $vysledokHladania = mysqli_query($connect_to_db, $sql_najdi_prihlaseneho_uzivatela);
    if (mysqli_num_rows($vysledokHladania) == 1) {
        while ($db_data_prihlaseneho_uzivatela = mysqli_fetch_assoc($vysledokHladania)) {
            $sql_vloz_komentar = "INSERT INTO comments (a_id, u_id, c_head, c_content, c_date) VALUES 
                                (".$_GET['a_id'].",".$db_data_prihlaseneho_uzivatela['u_id']." ,".$_POST['c_hlavicka']." ,".$_POST['c_obsah']." ,$date)";
            mysqli_query($connect_to_db, $sql_vloz_komentar);
        }
    }
}

I thing it will help you. 我认为这会对您有所帮助。

do you escape the varchar character ? 你能逃脱varchar字符吗? Other posible error is the date format in database. 其他可能的错误是数据库中的日期格式。 Post echo $sql_vloz_komentar for view the insert statement and the structure of table 发表echo $sql_vloz_komentar以查看插入语句和表的结构

if (isset($_POST['c_submit'])) {
   $sql_najdi_prihlaseneho_uzivatela = "SELECT * FROM users where u_name = '$_SESSION[username]'";
   $vysledokHladania = mysqli_query($connect_to_db, $sql_najdi_prihlaseneho_uzivatela);
   if (mysqli_num_rows($vysledokHladania) == 1) {
       while ($db_data_prihlaseneho_uzivatela = mysqli_fetch_assoc($vysledokHladania)) {
            $sql_vloz_komentar = "INSERT INTO comments (a_id, u_id, c_head, c_content, c_date) VALUES ($_GET[a_id], $db_data_prihlaseneho_uzivatela[u_id], '$_POST[c_hlavicka]', '$_POST[c_obsah]', 'NOW()')";
            mysqli_query($connect_to_db, $sql_vloz_komentar);
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM