php - msqli 不插入

标签 php mysql mysqli xampp

我试图将数据从表单(通过 POST)插入 MySQL 数据库,它没有显示任何错误,但是当我在 phpMyAdmin 中检查它时它没有显示。

    <?php

    $amount = $_POST["amount"];
    $unit = $_POST["unit"];
    $date = date('Y-m-d H:i:s');

    $host = "localhost";
    $user = "root";
    $pass = "";
    $db = "finance";
    $table = "silver";

    $mysqli = new mysqli($host, $user, $pass, 'finance');

    if(!$mysqli)
       {
       echo "<div class=\"error\">";
       echo "No connection can be established";
       echo "</div>";
       die();
       } 

   if ($unit = "gram") $amount = $amount * 28.3495231;

   // create query
   $query = "INSERT INTO 'silver'.'finance' (
    'Transaction_Num',
    'dtStamp',
    'Amount'
   ) 
   VALUES (
   NULL, \'2013-07-03 06:18:16\', \'1\'
   );";

   // execute query
   $mysqli->query($query);
   ?>

我在 XAMPP 1.8.2 w/PHP 5.4.16、Apache 2.4.4 和 Windows XP 上的 MySQL 5.6.11。

最佳答案

不要在表名和字段名上使用单引号。那应该是反引号。

试试这个:

   $query = "INSERT INTO `silver`.`finance` (
    `Transaction_Num`,
    `dtStamp`,
    `Amount`
   ) 
   VALUES (
   NULL, '2013-07-03 06:18:16', '1'
   );";

OR/AND 如果 Transaction_NumAUTO_INCREMENT,您可能不需要像这样插入它:

$query = "INSERT INTO silver.finance (dtStamp,Amount) 
   VALUES ( '2013-07-03 06:18:16', 1);";

OR/AND 如果你的 dtStampDEFAULT = CURRENT_TIMESTAMP 你可能不需要像这样插入:

$query = "INSERT INTO silver.finance (Amount) 
   VALUES (1);";

关于php - msqli 不插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943161/

相关文章:

php - 如何将分钟添加到日期时间字段然后选择 mysql 中的所有匹配项?

php - "open_basedir restriction in effect"但文件在正确的目录中

php - 如何确保在 PHP 中作为一个单元提交或中止 SQL 操作?

php - 在进入 SQL 查询之前是否需要转义 $_SESSION ['username' ]?

php - 选择时间间隔 MySQL

php - sql中如何划分学生

javascript - 如何在 jQuery 中将每个兄弟元素附加到其兄弟元素?

php - Jquery 无法将变量传递给 php

c# - 如何消除在不同表名中执行的重复 SQL 查询

php - mySQL 组记录具有来自子表的最新条目