Невозможно вставить значение в базу данных, используя php

Поскольку я пытаюсь вставить значение в базу данных через php-код, но это не сработало, а также не дало никакой ошибки. Вот код, который я пытался выполнить, но не удалось.

 <?php
$mysqli = new mysqli("localhost", "admin", "password", "project") or die("couldn't connect to the database");
error_reporting(0);
session_start();
if (!isset($_SESSION["sess_user"])) {
    header("location:index.php");
} else {
    $username = $_SESSION['sess_user'];
    if (isset($_GET['submit'])) {
        if ($_GET['e1'] == "E-LN3465") {
            $productname = $mysqli->real_escape_string($_GET['e1']);
            if ($insert = $db->query("INSERT INTO `cart`(`ID`, `pid`) ((Select `ID` from `users` where `Username`='$username'),(Select `pid` from `product` where `pname`='$productname'))")) {
                $checkQuery = $mysqli->query("INSERT INTO `cart`(`ID`, `pid`) ((Select `ID` from `users` where `Username`='$username'),(Select `pid` from `product` where `pname`='$productname'))");
            }
        }
    }
}
?>

1 ответ

Решение

В вашем коде $mysqli переменная хранит ваш объект подключения, и вы выполняете свой запрос два раза. $db нет ничего в вашем коде, просто удалите его

if ($mysqli->query("INSERT INTO `cart`(`ID`, `pid`) ((Select `ID` from `users` where `Username`='$username'),(Select `pid` from `product` where `pname`='$productname'))")) {
         echo "INSERT SUCESSFULLY";
    }

ОБНОВЛЕНО

Измените ваш запрос на

INSERT INTO `cart`(`ID`, `pid`)
SELECT users.ID, product.pid 
     FROM users, product
     WHERE users.Username='$username'
     AND product.pname='$productname';
Другие вопросы по тегам