当我尝试动态插入时,插入mysql的命令不起作用

时间:2016-03-04 18:59:17

标签: php mysql mysqli

我想动态地将数据插入到我的phpmyadmin mysql数据库中。所以我从用户那里获取值,然后运行mysqli的insert命令来插入数据。

但我的插入命令不起作用。这是我的代码:

$rest_name = $_SESSION['rest_name'];

    $order = $_SESSION['order'];
    $user = $_SESSION['username'];
    $bill = $_SESSION['bill'];
    $ctime = date("H:i:s", strtotime($_POST['time']));
        $insert_sql = "INSERT INTO '$rest_name' ('orders','amount',
'time','username')  VALUES('$order', '$bill', '$ctime','$user')';
    echo $insert_sql;
        if(mysqli_query($conn,$insert_sql)){
            echo "done";
        }
            else{
                echo "not done";
            }

我在数据库中有6列但我需要插入4列,只有其他两列设置为默认值。

1 个答案:

答案 0 :(得分:0)

$ insert_sql末尾有一个缺少的引号,请改为尝试:

b'B'

另外,使用你的方法你可以忍受sql注入!尽量避免以这种方式插入数据!你应该这样插入:

$rest_name = $_SESSION['rest_name'];

$order = $_SESSION['order'];
$user = $_SESSION['username'];
$bill = $_SESSION['bill'];
$ctime = date("H:i:s", strtotime($_POST['time']));
    $insert_sql = "INSERT INTO '$rest_name' ('orders','amount','time','username')  VALUES('$order', '$bill', '$ctime','$user')'";
     echo $insert_sql;
    if(mysqli_query($conn,$insert_sql)){
        echo "done";
    }
        else{
            echo "not done";
        }