当我试图通过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'))");
}
}
}
}
?>
最佳答案
在您的代码中,变量存储连接对象,您将执行两次查询。$mysqli
在你的代码中什么都不是只要删除它
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';