无法使用 php 在数据库中插入值
Posted
技术标签:
【中文标题】无法使用 php 在数据库中插入值【英文标题】:Cannot insert the value in database using php 【发布时间】:2016-02-25 12:04:37 【问题描述】:当我试图通过 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'))");
?>
【问题讨论】:
执行两次查询,$db
在您的代码中没有任何内容,只需将其从您的代码中删除即可
@Calimero 在 INSERT SELECT 语句中不需要 values
dev.mysql.com/doc/refman/5.7/en/insert-select.html
@Saty 你是对的,我的错,谢谢你的评论。
@Calimero 不客气!我们都在这里学习!!
@Saty 但还是没用。
【参考方案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';
【讨论】:
以上是关于无法使用 php 在数据库中插入值的主要内容,如果未能解决你的问题,请参考以下文章
无法在 mysql 数据库表中显示从 android 应用程序插入的印地语值