mysql — не может вставить значение в базу данных, используя переполнение стека

Поскольку я пытаюсь вставить значение в базу данных через 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'))");
}
}
}
}
?>

2

Решение

В вашем коде $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';
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]